/// <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)); }
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)); }