public CollectionView( FilteringOverview usedFilter, int totalExisting, IEnumerable <IApiResource> viewModels) { this.UsedFilter = usedFilter; this.TotalExisting = totalExisting; this.ViewModels = viewModels; }
protected string GetCollectionLink(FilteringOverview filter) { var urlBuilder = new UrlBuilder <ICollectionFilter>(this.CurrentBaseUrlPath); if (filter.Page.IsModified) { string paramKey = filter.Page.Name.ToLower(); string paramValue = filter.Page.UrlFriendlyValueTransformerDefault(filter.Page.Values.First()); urlBuilder.AddParam(paramKey, paramValue); } if (filter.PageSize.IsModified) { string paramKey = filter.PageSize.Name.ToLower(); string paramValue = filter.PageSize.UrlFriendlyValueTransformerDefault(filter.PageSize.Values.First()); urlBuilder.AddParam(paramKey, paramValue); } foreach (var additionalCriteria in filter.AdditionalCriterias) { if (additionalCriteria.IsModified) { string paramKey = additionalCriteria.Name.ToLower(); foreach (var value in additionalCriteria.Values) { string paramValue = additionalCriteria.UrlFriendlyValueTransformer(value); urlBuilder.AddParam(paramKey, paramValue); } } } string url = urlBuilder.Build(); return(url); }
public Dictionary <string, object> GetCollectionFilteringMap(FilteringOverview filter) { var allFiltersUsed = new Dictionary <string, object>(); object pageValue = filter.Page.HasMultipleValues ? (object)filter.Page.Values : filter.Page.Values.First(); allFiltersUsed.Add(filter.Page.Name, pageValue); object pageSizeValue = filter.PageSize.HasMultipleValues ? (object)filter.PageSize.Values : filter.PageSize.Values.First(); allFiltersUsed.Add(filter.PageSize.Name, pageSizeValue); foreach (var extraCriteria in filter.AdditionalCriterias) { object extraCriteriaValue = extraCriteria.HasMultipleValues ? (object)extraCriteria.Values : extraCriteria.Values.First(); if (extraCriteriaValue != null && extraCriteriaValue.GetType().IsEnum) { extraCriteriaValue = extraCriteriaValue.ToString(); } allFiltersUsed.Add(extraCriteria.Name, extraCriteriaValue); } return(allFiltersUsed); }