Beispiel #1
0
        /// <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)
        {
            if (_query is IQueryable <User> )
            {
                var     query   = (IQueryable <User>)_query;
                dynamic filter1 = _filter;
                UserListViewModelFilter filter = filter1;

                var doFiltering = filter != null && filter.Filtering;
                if (doFiltering)
                {
                    if (!string.IsNullOrEmpty(filter.FilterLogin))
                    {
                        query = query.Where(q => q.Name.ToLower().Contains(filter.FilterLogin.ToLower()));
                    }
                    if (!string.IsNullOrEmpty(filter.FilterFirstName))
                    {
                        query = query.Where(q => q.FirstName.ToLower().Contains(filter.FilterFirstName.ToLower()));
                    }
                    if (!string.IsNullOrEmpty(filter.FilterLastName))
                    {
                        query = query.Where(q => q.LastName.ToLower().Contains(filter.FilterLastName.ToLower()));
                    }
                    if (filter.FilterRolaId.HasValue)
                    {
                        query = query.Where(q => q.Role.Id == filter.FilterRolaId);
                    }
                    if (filter.FilterBlocked.HasValue)
                    {
                        query = query.Where(q => q.IsBlocked == filter.FilterBlocked);
                    }
                }
                filter.FilterRole = new SelectList(_roles.Roles.ToList(), "Id", "Name");
                filter.YesNo      = new SelectList(YesNoDictionary.GetList(), "Value", "Key");
                _query            = (IQueryable <Q>)query;
                filter1           = filter;
                return((T)filter1);
            }
            var     queryR   = (IQueryable <Role>)_query;
            dynamic filter1R = _filter;
            RoleListViewModelFilter filterR = filter1R;

            var doFilteringR = filterR != null && filterR.Filtering;

            if (doFilteringR)
            {
                if (!string.IsNullOrEmpty(filterR.FilterName))
                {
                    queryR = queryR.Where(q => q.Name.ToLower().Contains(filterR.FilterName.ToLower()));
                }
                if (filterR.Com.HasValue)
                {
                    queryR = queryR.Where(q => q.Commission == filterR.Com.Value);
                }
            }
            _query   = (IQueryable <Q>)queryR;
            filter1R = filterR;
            return((T)filter1R);
        }
Beispiel #2
0
 public ActionResult List(UserListViewModelFilter model)
 {
     //Zapamiętanie aktualnych filtrów
     if (Session != null)
     {
         Session[FilterSettingsKey.UserListViewModelFilter.ToString()] = model;
         PageSettings.RemoveFromSession(PageSettingsKey.UsersPageSettings);
     }
     return(Json(true));
 }