public async Task <IActionResult> GetTotalQtyByFilters([FromQuery] SaleFiltersViewModel filtersVM) { try { var filtersDto = _mapper.Map <SaleFiltersViewModel, SaleFiltersDto>(filtersVM); int qty = await _saleUseCases.GetTotalQtyByFilters(filtersDto); return(Ok(qty)); } catch (Exception e) { throw e; } }
public async Task <IActionResult> GetByFiltersPageAndQty([FromQuery] SaleFiltersViewModel filtersVM, int skip, int qty) { try { var filtersDto = _mapper.Map <SaleFiltersViewModel, SaleFiltersDto>(filtersVM); IEnumerable <SaleDto> salesDto = await _saleUseCases.GetFilteredByPageAndQty(filtersDto, skip, qty); IEnumerable <SaleViewModel> salesVM = _mapper.Map <IEnumerable <SaleDto>, IEnumerable <SaleViewModel> >(salesDto); return(Ok(salesVM)); } catch (Exception e) { throw e; } }
public async Task <Collection <CarSale> > ApplySaleFilterAsync(SaleFiltersViewModel saleFiltersViewModel, SaleFilters saleFilter) { switch (saleFilter) { case SaleFilters.MonthFilter: DateTime endDate = saleFiltersViewModel.SelectedMonth.AddMonths(1); return(new Collection <CarSale>(await Context.Cars_Sold.Where(cs => cs.Date >= saleFiltersViewModel.SelectedMonth && cs.Date < endDate).ToListAsync())); case SaleFilters.RangeFilter: var sales = Context.Cars_Sold.Where(cs => cs.IndividualCar != null); //fetch all cars if (saleFiltersViewModel.StartDate != null) { sales = sales.Where(cs => cs.Date >= saleFiltersViewModel.StartDate); } if (saleFiltersViewModel.EndDate != null) { sales = sales.Where(cs => cs.Date <= saleFiltersViewModel.EndDate); } return(new Collection <CarSale>(await sales.ToListAsync())); default: return(null); } }