コード例 #1
0
        /// <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" }));
            }
        }
コード例 #2
0
        /// <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"));
            }
        }
コード例 #3
0
        /// <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));
        }
コード例 #4
0
        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));
        }
コード例 #5
0
        /// <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));
        }