本文整理汇总了C#中Location.addCriterion方法的典型用法代码示例。如果您正苦于以下问题:C# Location.addCriterion方法的具体用法?C# Location.addCriterion怎么用?C# Location.addCriterion使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Location
的用法示例。
在下文中一共展示了Location.addCriterion方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Index
public ActionResult Index(IComponentPresentation componentPresentation)
{
string str2;
Stopwatch stopwatch = new Stopwatch();
if (this.Logger.IsDebugEnabled)
{
stopwatch.Start();
}
((dynamic) base.ViewBag).PodGenericSpan = "span4";
string str = base.Request.QueryString["fh_params"];
Query query = null;
HomePageBannerContent model = new HomePageBannerContent {
Banner = componentPresentation
};
if (!string.IsNullOrEmpty(str))
{
query = new Query();
query.ParseQuery(str);
}
else
{
Location location = new Location(this.DefaultLocation);
Criterion criterion = HomePageTabsConfig.ToCriteria(this._settings.PublicationId);
location.addCriterion(criterion);
query = new Query(location);
}
query.setView(com.fredhopper.lang.query.ViewType.LISTER);
int viewsize = Convert.ToInt32(WebConfiguration.Current.HomepageItemsPerPage);
viewsize = FacetedContentHelper.AssertCappedViewSize(viewsize);
query.setListViewSize(viewsize);
query.setSortingBy(WebConfiguration.Current.HomepageSort);
DD4TComponents components = new DD4TComponents(this.Logger);
if (this.Logger.IsDebugEnabled)
{
stopwatch.Stop();
str2 = stopwatch.Elapsed.ToString();
this.Logger.DebugFormat("HomeController Index time elapsed 1:" + str2, new object[0]);
}
model.FredHopperComponents = components.GetComponents(query.toString(), true);
model.Tabs = HomePageTabsConfig.ToSelectList(query.toString());
IList<IComponentPresentation> ctaList = (from m in componentPresentation.Page.ComponentPresentations
where m.ComponentTemplate.Id != componentPresentation.ComponentTemplate.Id
select m).ToList<IComponentPresentation>();
model.FredHopperComponents = FacetedContentHelper.InjectCTAComponents(model.FredHopperComponents, ctaList, false, false);
if (this.Logger.IsDebugEnabled)
{
stopwatch.Stop();
str2 = stopwatch.Elapsed.ToString();
this.Logger.DebugFormat("HomeController Index time elapsed 2:" + str2, new object[0]);
}
return base.View(model);
}
示例2: CreateOrCondition
private static string CreateOrCondition(string urlParams)
{
string str = HttpUtility.UrlDecode(urlParams).Split(new char[] { '&' }).SingleOrDefault<string>(p => p.StartsWith("fh_location=", StringComparison.InvariantCultureIgnoreCase));
if (string.IsNullOrEmpty(str))
{
str = urlParams;
}
Location location = new Location(str.Replace("fh_location=", ""));
SearchCriterion criterion = location.getSearchCriterion();
if (criterion != null)
{
location.removeSearchCriteria();
}
Criterion criterion2 = location.getLastCriterion();
Criterion criterion3 = location.getCriterion(criterion2.getAttributeName());
if (criterion3 == criterion2)
{
if (criterion != null)
{
location.addCriterion(criterion);
return location.toString();
}
return urlParams;
}
string str2 = criterion2.toString();
str2 = str2.Substring(str2.IndexOf('{') + 1).Replace("}", "");
location = location.removeLastCriterion();
string str3 = criterion3.toString().Replace("}", ";" + str2 + "}");
location = location.removeCriteria(criterion3.getAttributeName());
Criterion criterion4 = CriterionFactory.parse(str3);
location.addCriterion(criterion4);
if (criterion != null)
{
location.addCriterion(criterion);
}
return location.toString();
}
示例3: getFacetItem
public static FacetItem getFacetItem(filtersection fs, string fh_location, filter f)
{
FacetItem item = new FacetItem {
FHId = fs.value.Value,
NumItems = fs.nr,
Selected = fs.selected
};
link link = fs.link;
item.Text = link.name;
Query query = new Query();
query.ParseQuery(link.urlparams);
query.removeListStartIndex();
string urlParams = string.Empty;
if (fs.selected)
{
string str2 = query.getLocation().getLastCriterion().toString();
string facetValue = str2.Substring(str2.IndexOf('{') + 1).Replace("}", "");
urlParams = RemoveFacetValues(fh_location, query.getLocation().getLastCriterion().getAttributeName(), facetValue);
}
else
{
Location location = new Location(fh_location);
location.addCriterion(query.getLocation().getLastCriterion());
urlParams = location.toString();
if ((f.customfields != null) && (f.customfields.SingleOrDefault<customfield>(c => (c.name == "RefineMethod")).Value == "CombineFacets"))
{
urlParams = CreateOrCondition(urlParams);
}
}
Location location2 = new Location(urlParams);
query.setLocation(location2);
item.Value = query.ToFhParams();
return item;
}
示例4: Resetfilters
private static Location Resetfilters(string fh_location, bool includeSearchTerm, int publicationId)
{
Location location = new Location(fh_location);
Criterion criterion = location.getCriterion("publicationid");
Criterion criterion2 = location.getCriterion("schematitle");
Criterion criterion3 = location.getCriterion(string.Format("{0}_product_groups", publicationId));
SearchCriterion criterion4 = location.getSearchCriterion();
location.removeAllCriteria();
if (criterion != null)
{
location.addCriterion(criterion);
}
if (criterion2 != null)
{
location.addCriterion(criterion2);
}
if (criterion3 != null)
{
location.addCriterion(criterion3);
}
if (includeSearchTerm && (criterion4 != null))
{
location.addCriterion(criterion4);
}
return location;
}