public ActionResult List(DeviceListViewModelFilter model) { // Zapamiętanie aktualnych filtrów if (Session != null) { Session[FilterSettingsKey.DeviceFilterList.ToString()] = model; PageSettings.RemoveFromSession(PageSettingsKey.DevicePageSettings); } 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 <Device>)_query; var UserRole = User.GetRole(); var UserId = User.GetUserIDInt(); query = query.Where(q => UserRole == "Admin" || UserId == q.UserId); dynamic filter1 = _filter; DeviceListViewModelFilter 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())); } } _query = (IQueryable <Q>)query; filter1 = filter; return((T)filter1); }