// PUT api/categories/id
        public IHttpActionResult PutCategory(int id, [FromBody] CategoryProductModelView category)
        {
            var catOld = categoryService.GetById(id);

            if (catOld == null)
            {
                return(NotFound());
            }

            if (category == null)
            {
                return(BadRequest());
            }

            var newCat = new CategoryProductDTO
            {
                Id           = id,
                CategoryName = category.CategoryName,
                Product      = mapper.Map <ICollection <ProductModelView>, ICollection <ProductDTO> >(category.Product)
            };

            categoryService.Update(newCat);

            return(Ok(new { Message = $"A category {category.CategoryName} has updated" }));
        }
Exemple #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="CategoryName"></param>
        /// <returns></returns>
        public Guid GetCategoryByName(string CategoryName)
        {
            CategoryProductDTO categoryProduct = new CategoryProductDTO();
            Guid id = dbContext.Categories.Where(c => c.Name == CategoryName).Select(c => c.ID).FirstOrDefault();

            //categoryProduct.Products = ProductsFromCategoryMapper.Map<IEnumerable<Product>, IEnumerable<ProductDTO>>(product);
            return(id);
        }
Exemple #3
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="CategoryID"></param>
        /// <returns></returns>
        public CategoryProductDTO GetProductFromCatgory(Guid CategoryID)
        {
            CategoryProductDTO categoryProduct = new CategoryProductDTO();
            var product = dbContext.Products.Where(c => c.CategoryID == CategoryID).Include(c => c.Variants).ToList();

            Debug.WriteLine(dbContext.Products.Where(c => c.CategoryID == CategoryID).Include(c => c.Variants).ToList());
            categoryProduct.Products = ProductsFromCategoryMapper.Map <IEnumerable <Product>, IEnumerable <ProductDTO> >(product);
            return(categoryProduct);
        }
        public CategoryProductDTO GetCategoryProducts(string CategoryName)
        {
            Category category = shoppingCartEntities.Categories.Include(c => c.Products).Where(c => c.Name == CategoryName).FirstOrDefault();

            Debug.WriteLine(shoppingCartEntities.Categories.Include(c => c.Products).Where(c => c.Name == CategoryName).FirstOrDefault());
            CategoryProductDTO categoryProductDTO = new CategoryProductDTO();

            categoryProductDTO = CategoryProductMapper.Map <Category, CategoryProductDTO>(category);
            return(categoryProductDTO);
        }
Exemple #5
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="searchString"></param>
        /// <returns></returns>
        public CategoryProductDTO SearchProducts(string searchString)
        {
            CategoryProductDTO ProductList = new CategoryProductDTO();
            var product = dbContext.Products.Where(c => c.Title.Contains(searchString) || c.Description.Contains(searchString)).Include(c => c.Variants).ToList();

            Debug.WriteLine(dbContext.Products.Where(c => c.Title.Contains(searchString) || c.Description.Contains(searchString)).Include(c => c.Variants).ToList());

            ProductList.Products = ProductsFromCategoryMapper.Map <IEnumerable <Product>, IEnumerable <ProductDTO> >(product);
            return(ProductList);
        }
Exemple #6
0
 public void Update(CategoryProductDTO categoryProduct)
 {
     try
     {
         CategoryProduct newCategoryProduct = mapper.Map <CategoryProduct>(categoryProduct);
         unitOfWork.CategoriesProducts.Update(newCategoryProduct);
         unitOfWork.Save();
     }
     catch (Exception ex)
     {
         throw new ValidationException("Cannot update an instance of CategoryProduct", ex);
     }
 }
Exemple #7
0
        public CategoryProductDTO GetCategoryProducts(string CategoryName)
        {
            try
            {
                bool CategoryExist = productDatabaseContext.CategoryExists(CategoryName);
            }
            catch (NotFoundException ex)
            {
                throw new CatgoryDoesNotExistsException();
            }
            CategoryProductDTO categoryProductDTO = productDatabaseContext.GetCategoryProducts(CategoryName);

            return(categoryProductDTO);
        }
        public ActionResult CategoryProducts(string CategoryName)
        {
            CategoryProductViewModel viewModel           = new CategoryProductViewModel();
            CategoryProductDTO       categoryProductsDTO = new CategoryProductDTO();

            try
            {
                categoryProductsDTO = productBusinessContext.GetCategoryProducts(CategoryName);
                viewModel           = CategoryMapper.Map <CategoryProductDTO, CategoryProductViewModel>(categoryProductsDTO);
                return(View(viewModel));
            }

            catch (Exception ex)
            {
                return(View("Internal Error"));
            }
        }
        // POST api/categories/id
        public IHttpActionResult PostCategory([FromBody] CategoryProductModelView category)
        {
            if (!ModelState.IsValid || category == null)
            {
                return(BadRequest());
            }

            var model = new CategoryProductDTO
            {
                CategoryName = category.CategoryName,
                Product      = mapper.Map <ICollection <ProductModelView>, ICollection <ProductDTO> >(category.Product)
            };

            categoryService.Create(model);

            return(Ok(new { Message = $"The new category {category.CategoryName} has created" }));
        }
Exemple #10
0
        public void Create(CategoryProductDTO categoryProduct)
        {
            if (categoryProduct == null)
            {
                throw new ValidationException("Cannot create the nullable instance of CategoryProduct");
            }

            try
            {
                CategoryProduct newCategoryProduct = mapper.Map <CategoryProduct>(categoryProduct);
                unitOfWork.CategoriesProducts.Insert(newCategoryProduct);
                unitOfWork.Save();
            }
            catch (Exception ex)
            {
                throw new ValidationException("Cannot create an instance of CategoryProduct", ex);
            }
        }
        /// <summary>
        /// serach products from serach string
        /// </summary>
        /// <param name="SearchString">string for which user wants to search product</param>
        /// <returns></returns>
        public ActionResult SearchProducts(string SearchString)
        {
            var ProductViewConfig = new MapperConfiguration(cfg => {
                cfg.CreateMap <ProductViewModel, ProductDTO>();
                cfg.CreateMap <VariantViewModel, VariantDTO>();
                cfg.CreateMap <VariantImageViewModel, VariantImageDTO>();
            });
            IMapper ProductViewMapper = new Mapper(ProductViewConfig);

            CategoryProductBusiness  categoryProductBusiness = new CategoryProductBusiness();
            CategoryProductViewModel data = new CategoryProductViewModel();

            try
            {
                CategoryProductDTO products = categoryProductBusiness.SearchProducts(SearchString);
                data = ProductViewMapper.Map <CategoryProductDTO, CategoryProductViewModel>(products);
            }
            catch (CategoryNotFoundException)
            {
                return(RedirectToAction("ErrorViewShow", "HttpErrors", new { msg = "product not found on this catgory" }));
            }
            return(View(data));
        }
        /// <summary>
        /// get all product by the CategoryName
        /// </summary>
        /// <param name="CategoryName"></param>
        /// <returns></returns>
        public ActionResult GetProductByCat(string CategoryName)
        {
            /*mapping settings for getting the product by the category*/
            var ProductViewConfig = new MapperConfiguration(cfg => {
                cfg.CreateMap <ProductViewModel, ProductDTO>();
                cfg.CreateMap <VariantViewModel, VariantDTO>();
                cfg.CreateMap <VariantImageViewModel, VariantImageDTO>();
            });
            IMapper ProductViewMapper = new Mapper(ProductViewConfig);

            CategoryProductBusiness  categoryProductBusiness = new CategoryProductBusiness();
            CategoryProductViewModel data = new CategoryProductViewModel();

            try
            {
                CategoryProductDTO products = categoryProductBusiness.GetProductFromCatgory(CategoryName);
                data = ProductViewMapper.Map <CategoryProductDTO, CategoryProductViewModel>(products);
            }
            catch (CategoryNotFoundException)
            {
                return(RedirectToAction("ErrorViewShow", "HttpErrors", new { msg = "Product not found in this category" }));
            }
            return(View(data));
        }