コード例 #1
0
        /// <summary>
        /// Поиск сообщений обратной связи по фильтру
        /// </summary>
        /// <param name="filter">фильтр</param>
        /// <returns></returns>
        public ActionResult SearchResult(FeedBackFilter2 filter)
        {
            var query = DB.AccountFeedBack.AsQueryable();

            if (filter.DateBegin.HasValue)
            {
                query = query.Where(x => x.DateAdd >= filter.DateBegin.Value);
            }
            if (filter.DateEnd.HasValue)
            {
                var dateEnd = filter.DateEnd.Value.AddDays(1);
                query = query.Where(x => x.DateAdd <= dateEnd);
            }
            if (filter.AccountId.HasValue)
            {
                query = query.Where(x => x.AccountId == filter.AccountId);
            }
            if (filter.ProducerId.HasValue)
            {
                query = query.Where(x => x.Account.AccountCompany.ProducerId == filter.ProducerId);
            }
            if (filter.Status.HasValue)
            {
                query = query.Where(x => x.Status == filter.Status);
            }

            var itemsCount = query.Count();
            var info       = new SortingPagingInfo()
            {
                CurrentPageIndex = filter.CurrentPageIndex, ItemsCount = itemsCount, ItemsPerPage = filter.ItemsPerPage
            };

            ViewBag.Info         = info;
            ViewBag.PrDictionary = GetProducerList();

            var model = query.OrderByDescending(x => x.DateAdd).Skip(filter.CurrentPageIndex * filter.ItemsPerPage).Take(filter.ItemsPerPage).ToList();

            return(View(model));
        }
コード例 #2
0
        public ActionResult Index(FeedBackFilter2 model)
        {
            if (!model.DateBegin.HasValue)
            {
                model.DateBegin = GetMinDate();
            }
            if (!model.DateEnd.HasValue)
            {
                model.DateEnd = GetMaxDate();
            }
            if (model.ItemsPerPage == 0)
            {
                model.ItemsPerPage = 50;
            }
            var prDictionary = GetProducerList();

            model.ProducerList     = GetProducerListUi(prDictionary, model.ProducerId);
            model.AccountList      = GetAccountList(model.AccountId);
            model.ItemsPerPageList = GetItemsPerPageList(model.ItemsPerPage);
            model.StatusList       = GetStatusList(model.Status);
            return(View(model));
        }