public async Task <ActionResult <Pagination <StockToReturnDto> > > GetStocks( [FromQuery] StockSpecParams stockParams) { var spec = new StocksWithCategoriesAndCountriesSpecification(stockParams); var countSpec = new StockWithFiltersForCountSpecification(stockParams); var totalItems = await _stocksRepo.CountAsync(countSpec); var stocks = await _stocksRepo.ListAsync(spec); var data = _mapper.Map <IReadOnlyList <Stock>, IReadOnlyList <StockToReturnDto> >(stocks); return(Ok(new Pagination <StockToReturnDto> (stockParams.PageIndex, stockParams.PageSize, totalItems, data))); }
public async Task <ActionResult <StockToReturnDto1> > GetStock(int id) { var email = User.RetrieveEmailFromPrincipal(); var spec = new StocksWithCategoriesAndCountriesSpecification(id); var stock = await _stocksRepo.GetEntityWithSpec(spec); if (stock == null) { return(NotFound(new ApiResponse(404))); } var stocky = _mapper.Map <Stock, StockToReturnDto1>(stock); stocky.TotalQuantity = await _stockService.TotalQuantity(email, id); return(stocky); }