/// <summary> /// return view for products from top 3 categories with top 3 product in each category /// </summary> /// <returns>view</returns> public ActionResult Index() { CategoryProductBusiness categoryProductBusiness = new CategoryProductBusiness(); var categoryProductViewConfig = new MapperConfiguration(cfg => { cfg.CreateMap <ProductDTO, ProductViewModel>(); cfg.CreateMap <VariantDTO, VariantViewModel>(); cfg.CreateMap <CategoryProductDTO, CategoryProductViewModel>(); cfg.CreateMap <ProductAnalysisDTO, ProductAnalysisViewModel>(); cfg.CreateMap <VariantImageDTO, VariantImageViewModel>(); }); /* * accesing the home view controller */ IMapper categoriesViewMapper = new Mapper(categoryProductViewConfig); try { ProductAnalysisDTO categoryProduct = categoryProductBusiness.GetTopProduct(); ProductAnalysisViewModel data = new ProductAnalysisViewModel(); data = categoriesViewMapper.Map <ProductAnalysisDTO, ProductAnalysisViewModel>(categoryProduct); return(View(data)); } catch (Exception) { return(RedirectToAction("ErrorViewShow", "HttpErrors", new { msg = "Internal error" })); } }
/// <summary> /// Get Categories product variant /// </summary> /// <returns></returns> public PartialViewResult GetCategories() { CategoryProductBusiness categoryProductBusiness = new CategoryProductBusiness(); var categoriesMapper = new MapperConfiguration(cfg => { cfg.CreateMap <CategoriesDTO, CategoriesViewModel>(); }); IMapper categoriesViewMapper = new Mapper(categoriesMapper); try { CategoriesDTO categories = categoryProductBusiness.GetCategory(); CategoriesViewModel viewData = new CategoriesViewModel(); viewData.Category = categoriesViewMapper.Map <IEnumerable <CategoryDTO>, IEnumerable <CategoryViewModel> >(categories.Category); return(PartialView(viewData)); } catch (Exception) { return(PartialView("InternalError")); } }
/// <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)); }
public ActionResult ProductDetail(Guid ProductID) { var ProductViewConfig = new MapperConfiguration(cfg => { cfg.CreateMap <ProductViewModel, ProductDTO>(); cfg.CreateMap <VariantViewModel, VariantDTO>(); cfg.CreateMap <VariantImageViewModel, VariantImageDTO>(); }); IMapper ProductViewMapper = new Mapper(ProductViewConfig); ProductViewModel viewModel = new ProductViewModel(); ProductDTO productDTO = new ProductDTO(); CategoryProductBusiness categoryProductBusiness = new CategoryProductBusiness(); try { productDTO = categoryProductBusiness.GetProduct(ProductID); } catch (CategoryNotFoundException) { return(RedirectToAction("ErrorViewShow", "HttpErrors", new { msg = "Category not found" })); } viewModel = ProductViewMapper.Map <ProductDTO, ProductViewModel>(productDTO); return(View(viewModel)); }
/// <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)); }