Example #1
0
        public async Task <IActionResult> OnPostExportCommissionReportAsync()
        {
            IQueryable <Commission> commissionIQ = _context.Commission.FromSql(Models.Commission.CommissionQuery);

            commissionIQ = OfficeFilterProcess(commissionIQ);
            commissionIQ = CommissionFilter.Process(commissionIQ);
            commissionIQ = CommissionSort.Process(commissionIQ);

            Commission = await commissionIQ.AsNoTracking().ToListAsync();

            await SetCommissionTouroperators(Commission); // TODO Кастыль!
            await SetCommissionPartners(Commission);      // TODO Кастыль!

            return(File(new CommissionReport().CreateReportAsBytes(Commission),
                        "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", $"CommissionReport.xlsx"));
        }
Example #2
0
        public async Task OnGetAsync()
        {
            IQueryable <Commission> commissionIQ = _context.Commission.FromSql(Models.Commission.CommissionQuery); // TODO Переделать -> LINQ

            commissionIQ = OfficeFilterProcess(commissionIQ);
            commissionIQ = CommissionFilter.Process(commissionIQ);
            commissionIQ = CommissionSort.Process(commissionIQ);

            if (CommissionFilter.AllParamsIsNull || (CommissionFilter.NotAllParamsIsNull && commissionIQ.Count() > 300))
            {
                commissionIQ = CommissionPaginate.Process(commissionIQ);
            }

            Commission = await commissionIQ.AsNoTracking().ToListAsync();

            await SetCommissionTouroperators(Commission); // TODO Кастыль!
            await SetCommissionPartners(Commission);      // TODO Кастыль!

            CommissionTotals = new CommissionTotals(Commission);

            ViewData["FilterAgencyCompanyId"] = new SelectList(_context.AgencyCompanies.AsNoTracking(), "Id", "Name");
            ViewData["FilterManagerId"]       = new SelectList(_context.Managers.Include(m => m.Person).OrderBy(m => m.Person.Surname).AsNoTracking(), "Id", "Name");
            ViewData["PageSize"] = new SelectList(CommissionPaginate.PageSizeDictionary, "Key", "Value", CommissionPaginate.PageSize);
        }