Beispiel #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" }));
            }
        }
Beispiel #2
0
        /// <summary>
        /// get top selleing products and catoriges
        /// </summary>
        /// <returns></returns>

        public ProductAnalysisDTO GetTopProduct()
        {
            ProductAnalysisDTO productAnalysisDTO = new ProductAnalysisDTO();
            var Categories = dbContext.Categories.Include(c => c.Products).OrderByDescending(c => c.ProductsSold).ToList();

            Debug.WriteLine(dbContext.Categories.Include(c => c.Products).OrderByDescending(c => c.ProductsSold).ToList());
            productAnalysisDTO.Categories = categoryListMapper.Map <IEnumerable <Category>, IEnumerable <CategoryProductDTO> >(Categories);
            return(productAnalysisDTO);
        }
        /// <summary>
        /// get the Top 3 Category for 3 product in each Category and showing all category product with 5 product
        /// </summary>
        /// <returns>ProductAnalysisDTO</returns>
        public ProductAnalysisDTO GetTopProduct()
        {
            ProductAnalysisDTO productAnalysisDTO = categoryProductDatabase.GetTopProduct();
            int counter = 0;

            foreach (var category in productAnalysisDTO.Categories)
            {
                if (counter < 3)
                {
                    category.Products = category.Products.Take(3);
                }
                else
                {
                    category.Products = category.Products.Take(5);
                }
                counter++;
            }
            return(productAnalysisDTO);
        }