Beispiel #1
0
        public ActionResult List(CampaignListViewModelFilter model)
        {
            if (Session == null)
            {
                return(Json(true));
            }

            Session[FilterSettingsKey.CampaignControllerFilterList.ToString()] = model;
            PageSettings.RemoveFromSession(PageSettingsKey.CampaignPageSettings);
            return(Json(true));
        }
Beispiel #2
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)
        {
            var     query   = (IQueryable <Campaign>)_query;
            dynamic filter1 = _filter;
            CampaignListViewModelFilter filter = filter1;

            query = query.Where(q => UserRole == "Admin" || UserID == q.UserId);

            if (filter != null)
            {
                if (filter.FilterActive.HasValue)
                {
                    query = query.Where(q => q.IsActive == filter.FilterActive.Value);
                }
                if (filter.FilterStartDateFrom.HasValue)
                {
                    query = query.Where(q => filter.FilterStartDateFrom.Value <= q.StartDate);
                }
                if (filter.FilterStartDateTo.HasValue)
                {
                    query = query.Where(q => filter.FilterStartDateTo.Value >= q.StartDate);
                }
                if (filter.FilterEndDateFrom.HasValue)
                {
                    query = query.Where(q => filter.FilterEndDateFrom.Value <= q.EndDate);
                }
                if (filter.FilterEndDateTo.HasValue)
                {
                    query = query.Where(q => filter.FilterEndDateTo.Value >= q.EndDate);
                }
                if (filter.FilterPriorityId.HasValue && filter.FilterPriorityId.Value != SelectListExt.EmptyOptionValue)
                {
                    var priorityId = filter.FilterPriorityId.Value;
                    query = query.Where(q => q.PriorityId == priorityId);
                }
                if (!string.IsNullOrEmpty(filter.FilterName))
                {
                    query = query.Where(q => q.Name.ToLower().Contains(filter.FilterName.ToLower()));
                }
                if (!string.IsNullOrEmpty(filter.FilterLogin))
                {
                    query = query.Where(q => q.User.Name.ToLower().Contains(filter.FilterLogin.ToLower()));
                }
            }

            filter.Priorities = new SelectList(_priorityRepository.Priorities.ToList(), "Id", "Name");
            filter.YesNo      = new SelectList(YesNoDictionary.GetList(), "Value", "Key");
            _query            = (IQueryable <Q>)query;
            filter1           = filter;
            return((T)filter1);
        }