public async Task <ResponseGetProductsViewModel> GetProducts(RequestGetProductsViewModel request) { RequestGetProductsModel requestModel = _mapper.Map <RequestGetProductsModel>(request); List <Book> books = await _bookRepository.GetBooks(requestModel); ResponseGetProductsViewModel result = _mapper.Map <ResponseGetProductsViewModel>(books); List <int> booksIds = books.Select(item => item.Id).ToList(); await MapAuthorsToBooks(result, booksIds); return(result); }
public async Task <ResponseGetProductsViewModel> GetProducts(RequestGetProductsViewModel requestViewModel) { RequestGetProductsModel requestModel = _mapper.Map <RequestGetProductsModel>(requestViewModel); List <Product> products = await _productRepository.GetByRequest(requestModel); IEnumerable <int> categoriesIds = products.Select(product => product.CategoryId).Distinct(); List <Category> categories = await _categoryRepository.GetByIds(categoriesIds); var response = new ResponseGetProductsViewModel(); response.Data = _mapper.Map <List <ResponseGetProductsViewModelItem> >(products); response.TotalCount = await _productRepository.GetCount(); MapCategoriesNamesToProducts(response, categories); return(response); }
public async Task <List <Product> > GetByRequest(RequestGetProductsModel request) { List <Product> products = await _context.Products.Skip(request.Index).Take(request.Count).ToListAsync(); return(products); }
public async Task <List <Book> > GetBooks(RequestGetProductsModel model) { List <Book> books = await _data.Books.Skip(model.Index).Take(model.Count).ToListAsync(); return(books); }