Exemplo n.º 1
0
        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;
            }
        }
Exemplo n.º 2
0
        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;
            }
        }
Exemplo n.º 3
0
        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);
            }
        }