Exemple #1
0
        public void GetMainProductList(ref ICollection <VMCategoryProduct> list, ICollection <Category> subCategoryList)
        {
            foreach (var c in subCategoryList)
            {
                foreach (var m in c.ProductModels)
                {
                    foreach (var p in m.Products)
                    {
                        VMCategoryProduct vmProduct = new VMCategoryProduct();
                        vmProduct.ProductID    = p.ProductID;
                        vmProduct.ModelID      = p.ModelID;
                        vmProduct.MakeID       = p.ProductModel.MakeID;
                        vmProduct.ProductName  = p.ProductName;
                        vmProduct.UnitPrice    = p.UnitPrice;
                        vmProduct.UnitsInStock = p.UnitsInStock;
                        vmProduct.ViewCount    = p.ViewCount;
                        vmProduct.Description  = p.Description;
                        vmProduct.IsActive     = p.IsActive;
                        vmProduct.PicturePath  = p.ProductPictures.First().PicturePath;
                        vmProduct.ModelName    = p.ProductModel.ModelName;

                        if (p.Campaigns.Count != 0)
                        {
                            vmProduct.hasCampaign = true;

                            string  discount = "";
                            decimal price    = p.UnitPrice;
                            int     count    = p.Campaigns.Count;
                            foreach (var campaign in p.Campaigns.Where(x => x.IsActive == true))
                            {
                                if (campaign.StartedDate < DateTime.Now && campaign.EndingDate > DateTime.Now)
                                {
                                    discount += "%" + (Convert.ToInt32(campaign.Discount * 100)).ToString();
                                    price    *= (1 - campaign.Discount);

                                    if (count > 1)
                                    {
                                        discount += "+"; count--;
                                    }
                                }
                            }
                            vmProduct.TotalPrice    = price;
                            vmProduct.TotalDiscount = discount;
                            vmProduct.OldPrice      = p.UnitPrice;
                        }
                        else
                        {
                            vmProduct.TotalPrice    = p.UnitPrice;
                            vmProduct.TotalDiscount = "";
                            vmProduct.hasCampaign   = false;
                        }

                        list.Add(vmProduct);
                    }
                }
            }
        }
Exemple #2
0
        // GET: Category



        public ActionResult Index(Guid id)
        {
            if (CategoryDAL.Get(x => x.CategoryID == id) != null)
            {
                VMCategoryListing vmList = new VMCategoryListing();
                Session["id"] = id;

                ICollection <Category> subCategoryList = new HashSet <Category>();
                GetSubCategory(id, ref subCategoryList);

                vmList.CategoryList = subCategoryList;

                ICollection <VMCategoryProduct> list = new HashSet <VMCategoryProduct>();
                GetMainProductList(ref list, subCategoryList);


                vmList.ProductList = list;

                ICollection <Make> mList = new HashSet <Make>();
                foreach (var m in MakeDAL.GetList())
                {
                    foreach (var cat in subCategoryList)
                    {
                        foreach (var make in cat.Makes)
                        {
                            if (m == make)
                            {
                                mList.Add(m);
                            }
                        }
                    }
                }
                vmList.MakeList = mList;
                return(View(vmList));
            }
            else if (MakeDAL.Get(x => x.MakeID == id) != null)
            {
                Make make = new Make();
                make = MakeDAL.Get(x => x.MakeID == id);
                Guid catID = Guid.Parse("35391ff3-c30d-4a6a-b30b-14079eaaa455");

                VMCategoryListing vmList = new VMCategoryListing();
                Session["id"] = catID;

                ICollection <Category> subCategoryList = new HashSet <Category>();
                foreach (var cat in make.Categories)
                {
                    subCategoryList.Add(cat);
                }

                vmList.CategoryList = subCategoryList;

                ICollection <VMCategoryProduct> list = new HashSet <VMCategoryProduct>();
                #region makeProductsGet
                foreach (var m in make.Models)
                {
                    foreach (var p in m.Products)
                    {
                        VMCategoryProduct vmProduct = new VMCategoryProduct();
                        vmProduct.ProductID    = p.ProductID;
                        vmProduct.ModelID      = p.ModelID;
                        vmProduct.MakeID       = p.ProductModel.MakeID;
                        vmProduct.ProductName  = p.ProductName;
                        vmProduct.UnitPrice    = p.UnitPrice;
                        vmProduct.UnitsInStock = p.UnitsInStock;
                        vmProduct.ViewCount    = p.ViewCount;
                        vmProduct.Description  = p.Description;
                        vmProduct.IsActive     = p.IsActive;
                        vmProduct.PicturePath  = p.ProductPictures.First().PicturePath;
                        vmProduct.ModelName    = p.ProductModel.ModelName;

                        if (p.Campaigns.Count != 0)
                        {
                            vmProduct.hasCampaign = true;

                            string  discount = "";
                            decimal price    = p.UnitPrice;
                            int     count    = p.Campaigns.Count;
                            foreach (var campaign in p.Campaigns.Where(x => x.IsActive == true))
                            {
                                if (campaign.StartedDate < DateTime.Now && campaign.EndingDate > DateTime.Now)
                                {
                                    discount += "%" + (Convert.ToInt32(campaign.Discount * 100)).ToString();
                                    price    *= (1 - campaign.Discount);

                                    if (count > 1)
                                    {
                                        discount += "+"; count--;
                                    }
                                }
                            }
                            vmProduct.TotalPrice    = price;
                            vmProduct.TotalDiscount = discount;
                            vmProduct.OldPrice      = p.UnitPrice;
                        }
                        else
                        {
                            vmProduct.TotalPrice    = p.UnitPrice;
                            vmProduct.TotalDiscount = "";
                            vmProduct.hasCampaign   = false;
                        }

                        list.Add(vmProduct);
                    }
                }
                #endregion

                vmList.ProductList = list;
                ICollection <Make> mList = new HashSet <Make>();
                mList.Add(make);
                vmList.MakeList = mList;
                return(View(vmList));
            }
            else
            {
                return(Json(false));
            }
        }