// 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" })); }
/// <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); }
/// <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); }
/// <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); }
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); } }
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" })); }
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)); }