public ActionResult List(CampaignCategoriesListViewModelFilter model) { // Zapamietanie aktualnych filtrów if (Session != null) { Session[FilterSettingsKey.CampaignCategoriesControllerFilterList.ToString()] = model; PageSettings.RemoveFromSession(PageSettingsKey.CampaignCategoriesPageSettings); } return Json(true); }
/// <summary> /// Customowe filtrowanie /// </summary> /// <typeparam name="T">Typ filtru</typeparam> /// <param name="_query">Zbiór encji</param> /// <param name="_filter">filtr</param> /// <returns></returns> protected override T FilterSettingsVirtual<T, Q>(ref IQueryable<Q> _query, T _filter) { var query = (IQueryable<Category>)_query; dynamic filter1 = _filter; CampaignCategoriesListViewModelFilter filter = filter1; var doFiltering = filter != null && filter.Filtering; if (doFiltering) { if (!string.IsNullOrEmpty(filter.FilterName)) { query = query.Where(q => q.Name.ToLower().Contains(filter.FilterName.ToLower())); } if (!string.IsNullOrEmpty(filter.FilterCode)) { query = query.Where(q => q.Code.ToLower().Contains(filter.FilterCode.ToLower())); } } _query = (IQueryable<Q>)query; filter1 = filter; return (T)filter1; }