//[MultipleButton(Name = "action", Argument = "List")] public ActionResult List(MultimediaObjectListViewModelFilter model) { // Zapamietaj filtry if (Session != null) { Session[FilterSettingsKey.MultimediaObjectsControllerFilterList.ToString()] = model; PageSettings.RemoveFromSession(PageSettingsKey.MultimediaObjectsPageSettings); } return(Json(true)); // RedirectToAction("Index"); }
/// <summary> /// Customowe filtrowanie /// </summary> /// <typeparam name="T">Typ filtru</typeparam> /// <typeparam name="Q">Typ obiektów w Query</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 <MultimediaObject>)_query; dynamic filter1 = _filter; MultimediaObjectListViewModelFilter filter = filter1; query = query.Where(q => UserRole == "Admin" || q.UserId == UserId); if (filter != null) { if (!string.IsNullOrEmpty(filter.FilterName)) { query = query.Where(q => q.Name.ToLower().Contains(filter.FilterName.ToLower())); } if (!string.IsNullOrEmpty(filter.FilterFileName)) { query = query.Where(q => q.FileName.ToLower().Contains(filter.FilterFileName.ToLower())); } if (!string.IsNullOrEmpty(filter.FilterMime)) { query = query.Where(q => q.MimeType.ToLower().Contains(filter.FilterMime.ToLower())); } if (!string.IsNullOrEmpty(filter.FilterType)) { query = query.Where(q => q.Type.Name.ToLower().Contains(filter.FilterType.ToLower())); } if (!string.IsNullOrEmpty(filter.FilterLogin)) { query = query.Where(q => q.User.Name.ToLower().Contains(filter.FilterLogin.ToLower())); } } _query = (IQueryable <Q>)query; filter1 = filter; return((T)filter1); }