Exemple #1
0
        public async Task GetByCategories()
        {
            var products   = GenerateFakeData <Product>(5);
            var categories = GetFakeCategoryData(2);
            GetByCategoriesRequest getByCategoriesRequest = new GetByCategoriesRequest();

            getByCategoriesRequest.Categories.Adapt(categories);

            var mockedService = new Mock <IProductManager>();

            mockedService.Setup(x => x.GetByCategories(getByCategoriesRequest)).Returns(products);
            var controller = new ProductController(mockedService.Object);

            var result = await controller.GetByCategories(getByCategoriesRequest);

            Assert.AreEqual(5, result.DataList.Count);
        }
        public async Task <Response <Product> > GetByCategories([FromBody] GetByCategoriesRequest req)
        {
            Response <Product> httpResponse = new Response <Product>();

            try
            {
                httpResponse.RequestState = true;
                httpResponse.DataList     = await _productManager.GetByCategories(req);

                httpResponse.ErrorState = false;
            }
            catch (Exception ex)
            {
                httpResponse.ErrorState = true;
                httpResponse.ErrorList.Add(ex.Adapt <ApiException>());
            }
            return(httpResponse);
        }
Exemple #3
0
 public async Task <List <Product> > GetByCategories(GetByCategoriesRequest req)
 {
     return(await _context.Products
            .Where(p => p.ProductCategories.All(item => req.Categories.Contains(item.Category))).ToListAsync());
 }