Пример #1
0
        public ActionResult Filter(FilterContracts filtersEvents)
        {
            List <ContractsView> models = new List <ContractsView>();
            var dateStartFilter         = filtersEvents.DateStart;
            var dateEndFilter           = filtersEvents.DateEnd;
            var departamentFilter       = filtersEvents.Departament;
            var responsibleFilter       = filtersEvents.Responsible;
            var partnerFilter           = filtersEvents.Partner;
            var companyFilter           = filtersEvents.Comany;
            var numberFilter            = filtersEvents.Number;

            var contracts = _contractsBusinessLogic
                            .GetAll()
                            .Where(@contract =>
                                   FilterByDepartament(@contract, departamentFilter)
                                   &&
                                   FilterByResponsible(@contract, responsibleFilter)
                                   &&
                                   FilterByPartner(@contract, partnerFilter)
                                   &&
                                   FilterByCompany(@contract, companyFilter)
                                   &&
                                   FilterByStartDate(@contract, dateStartFilter)
                                   &&
                                   FilterByEndDate(@contract, dateEndFilter)
                                   &&
                                   FilterByNumber(@contract, numberFilter))
                            .ToList();

            foreach (var item in contracts)
            {
                models.Add(_mapper.Map <ContractsView>(item));
            }

            ViewBag.Data = models.OrderBy(x => x.DateStart).ToList();
            return(View(nameof(Index)));
        }