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