Skip to content

Instantly share code, notes, and snippets.

@Dillie-O
Last active December 17, 2015 04:19
Show Gist options
  • Save Dillie-O/5549533 to your computer and use it in GitHub Desktop.
Save Dillie-O/5549533 to your computer and use it in GitHub Desktop.
GetSearchCriteria method that generates dictionary of SearchParameters
// All site search criteria in a dictionary for easy lookup/manipulation
// when dynamically building the query.
public static Dictionary<string, SearchParameter> GetSearchCriteria()
{
var results = new Dictionary<string, SearchParameter>
{
{
"SiteID", new SearchParameter
(
"SiteID",
"(it.site_uid LIKE {0})",
"@site_uid",
"site_uid",
"System.String",
true,
false
)
},
{
"SiteName", new SearchParameter
(
"SiteName",
"(it.site_name LIKE {0})",
"@site_name",
"site_name",
"System.String",
true,
false
)
},
{
"MarketName", new SearchParameter
(
"MarketName",
"(it.market_name = {0})",
"@market_name",
"market_name",
"System.String" ,
false,
true
)
},
{
"SiteClassDesc", new SearchParameter
(
"SiteClassDesc",
"(it.site_class_desc = {0})",
"@site_class_desc",
"site_class_desc",
"System.String",
false,
true
)
},
{
"SiteStatusDesc", new SearchParameter
(
"SiteStatusDesc",
"(it.site_status_desc = {0})",
"@site_status_desc",
"site_status_desc",
"System.String",
false,
true
)
},
{
"SiteOnlineFrom", new SearchParameter
(
"SiteOnlineFrom",
"(it.site_online_date >= {0})",
"@site_online_date",
"site_online_date",
"System.DateTime"
)
},
{
"SiteOnlineTo", new SearchParameter
(
"SiteOnlineTo",
"(it.site_online <= {0})",
"@site_online",
"site_online_date",
"System.DateTime"
)
},
{
"SiteOnlineRange", new SearchParameter
(
"SiteOnlineRange",
"(it.site_online_date >= {0} AND it.site_online_date <= {1})",
"@site_online_date_from",
"site_online_date_from",
"System.DateTime",
"@site_online_date_to",
"site_online_date_to",
"System.DateTime"
)
},
{
"SiteOnlineStatus", new SearchParameter
(
"SiteOnlineStatus",
"(it.site_online_status_id = {0})",
"@site_online_status_id",
"site_online_status_id",
"System.Int32"
)
}
};
return results;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment