public ActionResult ModelDetails(int id) { if (User.IsInRole("Supplier")) return RedirectToAction("Index", "Supplier"); if (User.IsInRole("Admin")) return RedirectToAction("Index", "Admin"); dynamic model = new ExpandoObject(); if (id < 0) { return RedirectToAction("Error404", "Home"); } var modelDetails = new HomeCatalogViewModel() { ModelId = id, ModelNumber = db.Models.Find(id).ModelNumber, Price = db.Models.Find(id).Price, BrandName = (from m in db.Models join b in db.Brands on m.BrandId equals b.BrandId where m.ModelId == id select b.Name).FirstOrDefault(), ImageUrl = (from ph in db.Photos join pm in db.PhotoModels on ph.PhotoId equals pm.PhotoId join m in db.Models on pm.ModelId equals m.ModelId where pm.ModelId == id select ph.ImageUrl).FirstOrDefault(), Supplier = (from m in db.Models join u in db.Users on m.UserId equals u.Id where m.ModelId == id select u.Name).FirstOrDefault() }; model.Info = modelDetails; var modelSpecRecords = (from ms in db.ModelSpecs where ms.ModelId == id select ms).ToList(); var modelSpecList = new List<ModelSpecificationDetails>(); foreach (var item in modelSpecRecords) { var modelSpecification = new ModelSpecificationDetails() { SpecificationName = (from sp in db.Specifications join modelSpecs in db.ModelSpecs on sp.SpecificationId equals modelSpecs.SpecificationId where modelSpecs.SpecificationId == item.SpecificationId && modelSpecs.ModelId == id select sp.Description).FirstOrDefault(), SpecificationValue = item.Value, SpecialCategoryName = (from sp in db.SpecialCategories join s in db.Specifications on sp.SpecialCatId equals s.SpecialCatId where s.SpecificationId == item.SpecificationId select sp.Description).FirstOrDefault(), SpecialCategoryPosition = (from sp in db.SpecialCategories join s in db.Specifications on sp.SpecialCatId equals s.SpecialCatId where s.SpecificationId == item.SpecificationId select sp.Position).FirstOrDefault() }; modelSpecList.Add(modelSpecification); } model.SpecificationDetails = modelSpecList.GroupBy(m => m.SpecialCategoryName).ToDictionary(g => g.Key, g => g.ToList()); int modelItemId = (from m in db.Models where m.ModelId == id select m.ItemId).FirstOrDefault(); var relatedRecords = (from m in db.Models where m.ItemId == modelItemId && m.Status == "Active" select m).ToList(); var relatedList = new List<HomeCatalogViewModel>(); foreach (var item in relatedRecords.OrderBy(f => Guid.NewGuid()).Take(15)) { var relatedItem = new HomeCatalogViewModel() { ModelId = item.ModelId, ModelNumber = item.ModelNumber, Price = item.Price, BrandName = (from m in db.Models join b in db.Brands on m.BrandId equals b.BrandId where m.ModelId == item.ModelId select b.Name).FirstOrDefault(), ImageUrl = (from ph in db.Photos join pm in db.PhotoModels on ph.PhotoId equals pm.PhotoId join m in db.Models on pm.ModelId equals m.ModelId where pm.ModelId == item.ModelId select ph.ImageUrl).FirstOrDefault(), DtCreated = (from m in db.Models where m.ModelId == item.ModelId select m.DtCreated).FirstOrDefault() }; relatedList.Add(relatedItem); } model.RelatedProducts = relatedList; var ratingSum = db.RatingModels.Where(r => r.ModelId == id).ToList().Sum(r => r.RatingId); var ratingCount = db.RatingModels.Where(r => r.ModelId == id).ToList().Count(); if (ratingSum <= 0 || ratingCount <= 0) { ratingSum = 1; ratingCount = 1; } int averageRating = ratingSum / ratingCount; ViewBag.ratingCount = ratingCount; ViewBag.AverageRating = averageRating; var reviewRecords = db.Reviews.Where(r => r.ModelId == id).ToList(); var reviewList = new List<ReviewRatingViewModel>(); foreach (var item in reviewRecords) { var reviewItem = new ReviewRatingViewModel() { UserName = (from u in db.Users where u.Id == item.UserId select u.Name).FirstOrDefault(), Description = item.Description, DtCreated = item.DtCreated }; reviewList.Add(reviewItem); } ViewBag.Reviews = reviewList.OrderByDescending(r => r.DtCreated); return View(model); }
public ActionResult Index(ManageMessageId? message) { if (User.IsInRole("Supplier")) return RedirectToAction("Index", "Supplier"); if (User.IsInRole("Admin")) return RedirectToAction("Index", "Admin"); dynamic model = new ExpandoObject(); var categoryRecords = _categoryRepository.Retrieve(); if (categoryRecords == null) { return HttpNotFound(); } model.Category = categoryRecords; //var productList = new List<ProductViewModel>(); //foreach (var category in categoryRecords) //{ // var product = new ProductViewModel() // { // Description = (from p in db.Products // join c in db.Categories on p.CategoryId equals c.CategoryId // where p.Status == "Active" // select p.Description).FirstOrDefault(), // CategoryId = category.CategoryId // }; // productList.Add(product); //} //Products for CategoryId = 1 var productRecordsC1 = (from prod in db.Products join cat in db.Categories on prod.CategoryId equals cat.CategoryId where cat.Description == "Mobiles & Tablets" where prod.Status == "Active" select prod).ToList(); if (productRecordsC1 == null) { return HttpNotFound(); } model.ProductRecordsC1 = productRecordsC1; //Items for ProductId = 1 var itemList1 = (from i in db.Items join p in db.Products on i.ProductId equals p.ProductId where i.ProductId == 1 where i.AdminStatus == "Active" select i).ToList(); model.ItemRecordsP1 = itemList1; //Items for ProductId = 2 var itemList2 = (from i in db.Items join p in db.Products on i.ProductId equals p.ProductId where i.ProductId == 2 where i.AdminStatus == "Active" select i).ToList(); model.ItemRecordsP2 = itemList2; //Items for ProductId = 3 var itemList3 = (from i in db.Items join p in db.Products on i.ProductId equals p.ProductId where i.ProductId == 3 where i.AdminStatus == "Active" select i).ToList(); model.ItemRecordsP3 = itemList3; //Items for ProductId = 4 var itemList4 = (from i in db.Items join p in db.Products on i.ProductId equals p.ProductId where i.ProductId == 4 where i.AdminStatus == "Active" select i).ToList(); model.ItemRecordsP4 = itemList4; //Items for ProductId = 5 var itemList5 = (from i in db.Items join p in db.Products on i.ProductId equals p.ProductId where i.ProductId == 5 where i.AdminStatus == "Active" select i).ToList(); model.ItemRecordsP5 = itemList5; //Items for ProductId = 6 var itemList6 = (from i in db.Items join p in db.Products on i.ProductId equals p.ProductId where i.ProductId == 6 where i.AdminStatus == "Active" select i).ToList(); model.ItemRecordsP6 = itemList6; //Items for ProductId = 7 var itemList7 = (from i in db.Items join p in db.Products on i.ProductId equals p.ProductId where i.ProductId == 7 where i.AdminStatus == "Active" select i).ToList(); model.ItemRecordsP7 = itemList7; //Products for CategoryId = 2 var productRecordsC2 = (from prod in db.Products join cat in db.Categories on prod.CategoryId equals cat.CategoryId where cat.Description == "Computers" where prod.Status == "Active" select prod).ToList(); if (productRecordsC2 == null) { return HttpNotFound(); } model.ProductRecordsC2 = productRecordsC2; //Items for ProductId = 8 var itemListP8 = (from i in db.Items join p in db.Products on i.ProductId equals p.ProductId join c in db.Categories on p.CategoryId equals c.CategoryId where i.ProductId == 8 where i.AdminStatus == "Active" select i).ToList(); model.ItemRecordsP8 = itemListP8; //Items for ProductId = 9 var itemListP9 = (from i in db.Items join p in db.Products on i.ProductId equals p.ProductId join c in db.Categories on p.CategoryId equals c.CategoryId where i.ProductId == 9 where i.AdminStatus == "Active" select i).ToList(); model.ItemRecordsP9 = itemListP9; //Items for ProductId = 10 var itemList10 = (from i in db.Items join p in db.Products on i.ProductId equals p.ProductId where i.ProductId == 10 where i.AdminStatus == "Active" select i).ToList(); model.ItemRecordsP10 = itemList10; //Items for ProductId = 11 var itemList11 = (from i in db.Items join p in db.Products on i.ProductId equals p.ProductId where i.ProductId == 11 where i.AdminStatus == "Active" select i).ToList(); model.ItemRecordsP11 = itemList11; //Items for ProductId = 12 var itemList12 = (from i in db.Items join p in db.Products on i.ProductId equals p.ProductId where i.ProductId == 12 where i.AdminStatus == "Active" select i).ToList(); model.ItemRecordsP12 = itemList12; //Items for ProductId = 13 var itemList13 = (from i in db.Items join p in db.Products on i.ProductId equals p.ProductId where i.ProductId == 13 where i.AdminStatus == "Active" select i).ToList(); model.ItemRecordsP13 = itemList13; //Items for ProductId = 14 var itemList14 = (from i in db.Items join p in db.Products on i.ProductId equals p.ProductId where i.ProductId == 14 where i.AdminStatus == "Active" select i).ToList(); model.ItemRecordsP14 = itemList14; //Items for ProductId = 15 var itemList15 = (from i in db.Items join p in db.Products on i.ProductId equals p.ProductId where i.ProductId == 15 where i.AdminStatus == "Active" select i).ToList(); model.ItemRecordsP15 = itemList15; //Items for ProductId = 16 var itemList16 = (from i in db.Items join p in db.Products on i.ProductId equals p.ProductId where i.ProductId == 16 where i.AdminStatus == "Active" select i).ToList(); model.ItemRecordsP16 = itemList16; //Items for ProductId = 17 var itemList17 = (from i in db.Items join p in db.Products on i.ProductId equals p.ProductId where i.ProductId == 17 where i.AdminStatus == "Active" select i).ToList(); model.ItemRecordsP17 = itemList17; //Products for CategoryId = 3 var productRecordsC3 = (from prod in db.Products join cat in db.Categories on prod.CategoryId equals cat.CategoryId where cat.Description == "Gaming" where prod.Status == "Active" select prod).ToList(); if (productRecordsC3 == null) { return HttpNotFound(); } model.ProductRecordsC3 = productRecordsC3; //Items for ProductId = 18 var itemListP18 = (from i in db.Items join p in db.Products on i.ProductId equals p.ProductId join c in db.Categories on p.CategoryId equals c.CategoryId where i.ProductId == 18 where i.AdminStatus == "Active" select i).ToList(); model.ItemRecordsP18 = itemListP18; //Products for CategoryId = 4 var productRecordsC4 = (from prod in db.Products join cat in db.Categories on prod.CategoryId equals cat.CategoryId where cat.Description == "Electronics" where prod.Status == "Active" select prod).ToList(); if (productRecordsC4 == null) { return HttpNotFound(); } model.ProductRecordsC4 = productRecordsC4; //Items for ProductId = 19 var itemListP19 = (from i in db.Items join p in db.Products on i.ProductId equals p.ProductId join c in db.Categories on p.CategoryId equals c.CategoryId where i.ProductId == 19 where i.AdminStatus == "Active" select i).ToList(); model.ItemRecordsP19 = itemListP19; //Items for ProductId = 20 var itemListP20 = (from i in db.Items join p in db.Products on i.ProductId equals p.ProductId join c in db.Categories on p.CategoryId equals c.CategoryId where i.ProductId == 20 where i.AdminStatus == "Active" select i).ToList(); model.ItemRecordsP20 = itemListP20; //Items for ProductId = 21 var itemList21 = (from i in db.Items join p in db.Products on i.ProductId equals p.ProductId where i.ProductId == 21 where i.AdminStatus == "Active" select i).ToList(); model.ItemRecordsP21 = itemList21; //Items for ProductId = 22 var itemList22 = (from i in db.Items join p in db.Products on i.ProductId equals p.ProductId where i.ProductId == 22 where i.AdminStatus == "Active" select i).ToList(); model.ItemRecordsP22 = itemList22; //Items for ProductId = 23 var itemList23 = (from i in db.Items join p in db.Products on i.ProductId equals p.ProductId where i.ProductId == 23 where i.AdminStatus == "Active" select i).ToList(); model.ItemRecordsP23 = itemList23; //Items for ProductId = 24 var itemList24 = (from i in db.Items join p in db.Products on i.ProductId equals p.ProductId where i.ProductId == 24 where i.AdminStatus == "Active" select i).ToList(); model.ItemRecordsP24 = itemList24; //Items for ProductId = 25 var itemList25 = (from i in db.Items join p in db.Products on i.ProductId equals p.ProductId where i.ProductId == 25 where i.AdminStatus == "Active" select i).ToList(); model.ItemRecordsP25 = itemList25; //Products for CategoryId = 5 var productRecordsC5 = (from prod in db.Products join cat in db.Categories on prod.CategoryId equals cat.CategoryId where cat.Description == "Women's Fashion" where prod.Status == "Active" select prod).ToList(); if (productRecordsC5 == null) { return HttpNotFound(); } model.ProductRecordsC5 = productRecordsC5; //Items for ProductId = 26 var itemListP26 = (from i in db.Items join p in db.Products on i.ProductId equals p.ProductId join c in db.Categories on p.CategoryId equals c.CategoryId where i.ProductId == 26 where i.AdminStatus == "Active" select i).ToList(); model.ItemRecordsP26 = itemListP26; //Items for ProductId = 27 var itemListP27 = (from i in db.Items join p in db.Products on i.ProductId equals p.ProductId join c in db.Categories on p.CategoryId equals c.CategoryId where i.ProductId == 27 where i.AdminStatus == "Active" select i).ToList(); model.ItemRecordsP27 = itemListP27; //Items for ProductId = 28 var itemList28 = (from i in db.Items join p in db.Products on i.ProductId equals p.ProductId where i.ProductId == 28 where i.AdminStatus == "Active" select i).ToList(); model.ItemRecordsP28 = itemList28; //Items for ProductId = 29 var itemList29 = (from i in db.Items join p in db.Products on i.ProductId equals p.ProductId where i.ProductId == 29 where i.AdminStatus == "Active" select i).ToList(); model.ItemRecordsP29 = itemList29; //Items for ProductId = 30 var itemList30 = (from i in db.Items join p in db.Products on i.ProductId equals p.ProductId where i.ProductId == 30 where i.AdminStatus == "Active" select i).ToList(); model.ItemRecordsP30 = itemList30; //Items for ProductId = 31 var itemList31 = (from i in db.Items join p in db.Products on i.ProductId equals p.ProductId where i.ProductId == 31 where i.AdminStatus == "Active" select i).ToList(); model.ItemRecordsP31 = itemList31; //Items for ProductId = 32 var itemList32 = (from i in db.Items join p in db.Products on i.ProductId equals p.ProductId where i.ProductId == 32 where i.AdminStatus == "Active" select i).ToList(); model.ItemRecordsP32 = itemList32; //Items for ProductId = 33 var itemList33 = (from i in db.Items join p in db.Products on i.ProductId equals p.ProductId where i.ProductId == 33 where i.AdminStatus == "Active" select i).ToList(); model.ItemRecordsP33 = itemList33; //Items for ProductId = 34 var itemList34 = (from i in db.Items join p in db.Products on i.ProductId equals p.ProductId where i.ProductId == 34 where i.AdminStatus == "Active" select i).ToList(); model.ItemRecordsP34 = itemList34; //Products for CategoryId = 6 var productRecordsC6 = (from prod in db.Products join cat in db.Categories on prod.CategoryId equals cat.CategoryId where cat.Description == "Men's Fashion" where prod.Status == "Active" select prod).ToList(); if (productRecordsC6 == null) { return HttpNotFound(); } model.ProductRecordsC6 = productRecordsC6; //Items for ProductId = 35 var itemListP35 = (from i in db.Items join p in db.Products on i.ProductId equals p.ProductId join c in db.Categories on p.CategoryId equals c.CategoryId where i.ProductId == 35 where i.AdminStatus == "Active" select i).ToList(); model.ItemRecordsP35 = itemListP35; //Items for ProductId = 36 var itemListP36 = (from i in db.Items join p in db.Products on i.ProductId equals p.ProductId join c in db.Categories on p.CategoryId equals c.CategoryId where i.ProductId == 36 where i.AdminStatus == "Active" select i).ToList(); model.ItemRecordsP36 = itemListP36; //Items for ProductId = 37 var itemList37 = (from i in db.Items join p in db.Products on i.ProductId equals p.ProductId where i.ProductId == 37 where i.AdminStatus == "Active" select i).ToList(); model.ItemRecordsP37 = itemList37; //Items for ProductId = 38 var itemList38 = (from i in db.Items join p in db.Products on i.ProductId equals p.ProductId where i.ProductId == 38 where i.AdminStatus == "Active" select i).ToList(); model.ItemRecordsP38 = itemList38; //Items for ProductId = 39 var itemList39 = (from i in db.Items join p in db.Products on i.ProductId equals p.ProductId where i.ProductId == 39 where i.AdminStatus == "Active" select i).ToList(); model.ItemRecordsP39 = itemList39; //Items for ProductId = 40 var itemList40 = (from i in db.Items join p in db.Products on i.ProductId equals p.ProductId where i.ProductId == 40 where i.AdminStatus == "Active" select i).ToList(); model.ItemRecordsP40 = itemList40; //Items for ProductId = 41 var itemList41 = (from i in db.Items join p in db.Products on i.ProductId equals p.ProductId where i.ProductId == 41 where i.AdminStatus == "Active" select i).ToList(); model.ItemRecordsP41 = itemList41; //Items for ProductId = 42 var itemList42 = (from i in db.Items join p in db.Products on i.ProductId equals p.ProductId where i.ProductId == 42 where i.AdminStatus == "Active" select i).ToList(); model.ItemRecordsP42 = itemList42; //Products for CategoryId = 10 var productRecordsC10 = (from prod in db.Products join cat in db.Categories on prod.CategoryId equals cat.CategoryId where cat.CategoryId == 10 where prod.Status == "Active" select prod).ToList(); if (productRecordsC10 == null) { return null; } model.ProductRecordsC10 = productRecordsC10; //Items for ProductId = 64 var itemListP64 = (from i in db.Items join p in db.Products on i.ProductId equals p.ProductId join c in db.Categories on p.CategoryId equals c.CategoryId where i.ProductId == 64 where i.AdminStatus == "Active" select i).ToList(); model.ItemRecordsP64 = itemListP64; //Items for ProductId = 65 var itemListP65 = (from i in db.Items join p in db.Products on i.ProductId equals p.ProductId join c in db.Categories on p.CategoryId equals c.CategoryId where i.ProductId == 65 where i.AdminStatus == "Active" select i).ToList(); model.ItemRecordsP65 = itemListP65; //Products for CategoryId = 11 var productRecordsC11 = (from prod in db.Products join cat in db.Categories on prod.CategoryId equals cat.CategoryId where cat.CategoryId == 11 where prod.Status == "Active" select prod).ToList(); if (productRecordsC11 == null) { return null; } model.ProductRecordsC11 = productRecordsC11; //Items for ProductId = 66 var itemList66 = (from i in db.Items join p in db.Products on i.ProductId equals p.ProductId where i.ProductId == 66 where i.AdminStatus == "Active" select i).ToList(); model.ItemRecordsP66 = itemList66; //Items for ProductId = 67 var itemList67 = (from i in db.Items join p in db.Products on i.ProductId equals p.ProductId where i.ProductId == 67 where i.AdminStatus == "Active" select i).ToList(); model.ItemRecordsP38 = itemList38; var MobileCategoryRecords = (from m in db.Models join i in db.Items on m.ItemId equals i.ItemId join p in db.Products on i.ProductId equals p.ProductId join c in db.Categories on p.CategoryId equals c.CategoryId where c.Description == "Mobiles & Tablets" && i.AdminStatus == "Active" && m.Status == "Active" select m).ToList(); var MobileCategoryDisplay = new HomeCatalogViewModel(); foreach (var item in MobileCategoryRecords.OrderBy(m => Guid.NewGuid()).Take(1)) { var MobileCategoryData = new HomeCatalogViewModel() { ModelId = item.ModelId, ModelNumber = item.ModelNumber, Price = item.Price, BrandName = (from m in db.Models join b in db.Brands on m.BrandId equals b.BrandId where m.ModelId == item.ModelId select b.Name).FirstOrDefault(), ImageUrl = (from ph in db.Photos join pm in db.PhotoModels on ph.PhotoId equals pm.PhotoId join m in db.Models on pm.ModelId equals m.ModelId where pm.ModelId == item.ModelId select ph.ImageUrl).FirstOrDefault(), DtCreated = (from m in db.Models where m.ModelId == item.ModelId select m.DtCreated).FirstOrDefault() }; MobileCategoryDisplay = MobileCategoryData; } model.MobileCategory = MobileCategoryDisplay; var ComputerCategoryRecords = (from m in db.Models join i in db.Items on m.ItemId equals i.ItemId join p in db.Products on i.ProductId equals p.ProductId join c in db.Categories on p.CategoryId equals c.CategoryId where c.Description == "Computers" && i.AdminStatus == "Active" && m.Status == "Active" select m).ToList(); var ComputerCategoryDisplay = new HomeCatalogViewModel(); foreach (var item in ComputerCategoryRecords.OrderBy(m => Guid.NewGuid()).Take(1)) { var ComputerCategoryData = new HomeCatalogViewModel() { ModelId = item.ModelId, ModelNumber = item.ModelNumber, Price = item.Price, BrandName = (from m in db.Models join b in db.Brands on m.BrandId equals b.BrandId where m.ModelId == item.ModelId select b.Name).FirstOrDefault(), ImageUrl = (from ph in db.Photos join pm in db.PhotoModels on ph.PhotoId equals pm.PhotoId join m in db.Models on pm.ModelId equals m.ModelId where pm.ModelId == item.ModelId select ph.ImageUrl).FirstOrDefault(), DtCreated = (from m in db.Models where m.ModelId == item.ModelId select m.DtCreated).FirstOrDefault() }; ComputerCategoryDisplay = ComputerCategoryData; } model.ComputerCategory = ComputerCategoryDisplay; var GamingCategoryRecords = (from m in db.Models join i in db.Items on m.ItemId equals i.ItemId join p in db.Products on i.ProductId equals p.ProductId join c in db.Categories on p.CategoryId equals c.CategoryId where c.Description == "Gaming" && i.AdminStatus == "Active" && m.Status == "Active" select m).ToList(); var GamingCategoryDisplay = new HomeCatalogViewModel(); foreach (var item in GamingCategoryRecords.OrderBy(m => Guid.NewGuid()).Take(1)) { var GamingCategoryData = new HomeCatalogViewModel() { ModelId = item.ModelId, ModelNumber = item.ModelNumber, Price = item.Price, BrandName = (from m in db.Models join b in db.Brands on m.BrandId equals b.BrandId where m.ModelId == item.ModelId select b.Name).FirstOrDefault(), ImageUrl = (from ph in db.Photos join pm in db.PhotoModels on ph.PhotoId equals pm.PhotoId join m in db.Models on pm.ModelId equals m.ModelId where pm.ModelId == item.ModelId select ph.ImageUrl).FirstOrDefault(), DtCreated = (from m in db.Models where m.ModelId == item.ModelId select m.DtCreated).FirstOrDefault() }; GamingCategoryDisplay = GamingCategoryData; } model.GamingCategory = GamingCategoryDisplay; var ElectronicsCategoryRecords = (from m in db.Models join i in db.Items on m.ItemId equals i.ItemId join p in db.Products on i.ProductId equals p.ProductId join c in db.Categories on p.CategoryId equals c.CategoryId where c.Description == "Electronics" && i.AdminStatus == "Active" && m.Status == "Active" select m).ToList(); var ElectronicsCategoryDisplay = new HomeCatalogViewModel(); foreach (var item in ElectronicsCategoryRecords.OrderBy(m => Guid.NewGuid()).Take(1)) { var ElectronicsCategoryData = new HomeCatalogViewModel() { ModelId = item.ModelId, ModelNumber = item.ModelNumber, Price = item.Price, BrandName = (from m in db.Models join b in db.Brands on m.BrandId equals b.BrandId where m.ModelId == item.ModelId select b.Name).FirstOrDefault(), ImageUrl = (from ph in db.Photos join pm in db.PhotoModels on ph.PhotoId equals pm.PhotoId join m in db.Models on pm.ModelId equals m.ModelId where pm.ModelId == item.ModelId select ph.ImageUrl).FirstOrDefault(), DtCreated = (from m in db.Models where m.ModelId == item.ModelId select m.DtCreated).FirstOrDefault() }; ElectronicsCategoryDisplay = ElectronicsCategoryData; } model.ElectronicsCategory = ElectronicsCategoryDisplay; var WomenCategoryRecords = (from m in db.Models join i in db.Items on m.ItemId equals i.ItemId join p in db.Products on i.ProductId equals p.ProductId join c in db.Categories on p.CategoryId equals c.CategoryId where c.Description == "Women's Fashion" && i.AdminStatus == "Active" && m.Status == "Active" select m).ToList(); var WomenCategoryDisplay = new HomeCatalogViewModel(); foreach (var item in WomenCategoryRecords.OrderBy(m => Guid.NewGuid()).Take(1)) { var CategoryData = new HomeCatalogViewModel() { ModelId = item.ModelId, ModelNumber = item.ModelNumber, Price = item.Price, BrandName = (from m in db.Models join b in db.Brands on m.BrandId equals b.BrandId where m.ModelId == item.ModelId select b.Name).FirstOrDefault(), ImageUrl = (from ph in db.Photos join pm in db.PhotoModels on ph.PhotoId equals pm.PhotoId join m in db.Models on pm.ModelId equals m.ModelId where pm.ModelId == item.ModelId select ph.ImageUrl).FirstOrDefault(), DtCreated = (from m in db.Models where m.ModelId == item.ModelId select m.DtCreated).FirstOrDefault() }; WomenCategoryDisplay = CategoryData; } model.WomenCategory = WomenCategoryDisplay; var MenCategoryRecords = (from m in db.Models join i in db.Items on m.ItemId equals i.ItemId join p in db.Products on i.ProductId equals p.ProductId join c in db.Categories on p.CategoryId equals c.CategoryId where c.Description == "Men's Fashion" && i.AdminStatus == "Active" && m.Status == "Active" select m).ToList(); var MenCategoryDisplay = new HomeCatalogViewModel(); foreach (var item in MenCategoryRecords.OrderBy(m => Guid.NewGuid()).Take(1)) { var CategoryData = new HomeCatalogViewModel() { ModelId = item.ModelId, ModelNumber = item.ModelNumber, Price = item.Price, BrandName = (from m in db.Models join b in db.Brands on m.BrandId equals b.BrandId where m.ModelId == item.ModelId select b.Name).FirstOrDefault(), ImageUrl = (from ph in db.Photos join pm in db.PhotoModels on ph.PhotoId equals pm.PhotoId join m in db.Models on pm.ModelId equals m.ModelId where pm.ModelId == item.ModelId select ph.ImageUrl).FirstOrDefault(), DtCreated = (from m in db.Models where m.ModelId == item.ModelId select m.DtCreated).FirstOrDefault() }; MenCategoryDisplay = CategoryData; } model.MenCategory = MenCategoryDisplay; var KidsCategoryRecords = (from m in db.Models join i in db.Items on m.ItemId equals i.ItemId join p in db.Products on i.ProductId equals p.ProductId join c in db.Categories on p.CategoryId equals c.CategoryId where c.Description == "Kids' Fashion" && i.AdminStatus == "Active" && m.Status == "Active" select m).ToList(); var KidsCategoryDisplay = new HomeCatalogViewModel(); foreach (var item in KidsCategoryRecords.OrderBy(m => Guid.NewGuid()).Take(1)) { var CategoryData = new HomeCatalogViewModel() { ModelId = item.ModelId, ModelNumber = item.ModelNumber, Price = item.Price, BrandName = (from m in db.Models join b in db.Brands on m.BrandId equals b.BrandId where m.ModelId == item.ModelId select b.Name).FirstOrDefault(), ImageUrl = (from ph in db.Photos join pm in db.PhotoModels on ph.PhotoId equals pm.PhotoId join m in db.Models on pm.ModelId equals m.ModelId where pm.ModelId == item.ModelId select ph.ImageUrl).FirstOrDefault(), DtCreated = (from m in db.Models where m.ModelId == item.ModelId select m.DtCreated).FirstOrDefault() }; KidsCategoryDisplay = CategoryData; } model.KidsCategory = KidsCategoryDisplay; var HomeCategoryRecords = (from m in db.Models join i in db.Items on m.ItemId equals i.ItemId join p in db.Products on i.ProductId equals p.ProductId join c in db.Categories on p.CategoryId equals c.CategoryId where c.Description == "Home & Kitchen" && i.AdminStatus == "Active" && m.Status == "Active" select m).ToList(); var HomeCategoryDisplay = new HomeCatalogViewModel(); foreach (var item in HomeCategoryRecords.OrderBy(m => Guid.NewGuid()).Take(1)) { var CategoryData = new HomeCatalogViewModel() { ModelId = item.ModelId, ModelNumber = item.ModelNumber, Price = item.Price, BrandName = (from m in db.Models join b in db.Brands on m.BrandId equals b.BrandId where m.ModelId == item.ModelId select b.Name).FirstOrDefault(), ImageUrl = (from ph in db.Photos join pm in db.PhotoModels on ph.PhotoId equals pm.PhotoId join m in db.Models on pm.ModelId equals m.ModelId where pm.ModelId == item.ModelId select ph.ImageUrl).FirstOrDefault(), DtCreated = (from m in db.Models where m.ModelId == item.ModelId select m.DtCreated).FirstOrDefault() }; HomeCategoryDisplay = CategoryData; } model.HomeCategory = HomeCategoryDisplay; var SportCategoryRecords = (from m in db.Models join i in db.Items on m.ItemId equals i.ItemId join p in db.Products on i.ProductId equals p.ProductId join c in db.Categories on p.CategoryId equals c.CategoryId where c.Description == "Sport, Fitness & Outdoor" && i.AdminStatus == "Active" && m.Status == "Active" select m).ToList(); var SportCategoryDisplay = new HomeCatalogViewModel(); foreach (var item in SportCategoryRecords.OrderBy(m => Guid.NewGuid()).Take(1)) { var CategoryData = new HomeCatalogViewModel() { ModelId = item.ModelId, ModelNumber = item.ModelNumber, Price = item.Price, BrandName = (from m in db.Models join b in db.Brands on m.BrandId equals b.BrandId where m.ModelId == item.ModelId select b.Name).FirstOrDefault(), ImageUrl = (from ph in db.Photos join pm in db.PhotoModels on ph.PhotoId equals pm.PhotoId join m in db.Models on pm.ModelId equals m.ModelId where pm.ModelId == item.ModelId select ph.ImageUrl).FirstOrDefault(), DtCreated = (from m in db.Models where m.ModelId == item.ModelId select m.DtCreated).FirstOrDefault() }; SportCategoryDisplay = CategoryData; } model.SportCategory = SportCategoryDisplay; ////Products for CategoryId = Financial //var productRecordsC10 = (from prod in db.Products // join cat in db.Categories on prod.CategoryId equals cat.CategoryId // where cat.Description == "Financial Services" // where prod.Status == "Active" // select prod).ToList(); //if (productRecordsC10 == null) //{ // return View("Index"); //} //model.ProductRecordsC10 = productRecordsC10; ////Items for ProductName = Financial Services //var itemListPFinance = (from i in db.Items // join p in db.Products on i.ProductId equals p.ProductId // join c in db.Categories on p.CategoryId equals c.CategoryId // where p.Description == "Insurance" // where i.AdminStatus == "Active" // select i).ToList(); //model.ItemRecordsPFinance = itemListPFinance; var modelRecords = _modelRepository.Retrieve(); var FeaturedList = new List<HomeCatalogViewModel>(); foreach (var item in modelRecords.Where(x => x.Status == "Active").OrderBy(f => Guid.NewGuid()).Take(3)) { var modelItem = new HomeCatalogViewModel() { ModelId = item.ModelId, ModelNumber = item.ModelNumber, Price = item.Price, BrandName = (from m in db.Models join b in db.Brands on m.BrandId equals b.BrandId where m.ModelId == item.ModelId select b.Name).FirstOrDefault(), ImageUrl = (from ph in db.Photos join pm in db.PhotoModels on ph.PhotoId equals pm.PhotoId join m in db.Models on pm.ModelId equals m.ModelId where pm.ModelId == item.ModelId select ph.ImageUrl).FirstOrDefault(), DtCreated = (from m in db.Models where m.ModelId == item.ModelId select m.DtCreated).FirstOrDefault() }; FeaturedList.Add(modelItem); FeaturedList.OrderByDescending(x => x.DtCreated); } model.FeaturedList = FeaturedList; var SlideShowList = new List<HomeCatalogViewModel>(); Random randomNumber = new Random(); foreach (var item in modelRecords.Where(x => x.Status == "Active").OrderBy(s => randomNumber.Next(1, 20))) { var modelImage = new HomeCatalogViewModel() { ModelNumber = item.ModelNumber, ImageUrl = (from ph in db.Photos join pm in db.PhotoModels on ph.PhotoId equals pm.PhotoId join m in db.Models on pm.ModelId equals m.ModelId where pm.ModelId == item.ModelId select ph.ImageUrl).FirstOrDefault(), ModelId = item.ModelId }; SlideShowList.Add(modelImage); } model.SlideShow = SlideShowList; var NewLaunchesList = new List<HomeCatalogViewModel>(); foreach (var item in modelRecords.Where(x => x.Status == "Active").OrderByDescending(x => x.DtCreated).Take(4)) { var modelNewLaunch = new HomeCatalogViewModel() { ModelId = item.ModelId, ModelNumber = item.ModelNumber, Price = item.Price, BrandName = (from m in db.Models join b in db.Brands on m.BrandId equals b.BrandId where m.ModelId == item.ModelId select b.Name).FirstOrDefault(), ImageUrl = (from ph in db.Photos join pm in db.PhotoModels on ph.PhotoId equals pm.PhotoId join m in db.Models on pm.ModelId equals m.ModelId where pm.ModelId == item.ModelId select ph.ImageUrl).FirstOrDefault(), DtCreated = (from m in db.Models where m.ModelId == item.ModelId select m.DtCreated).FirstOrDefault() }; NewLaunchesList.Add(modelNewLaunch); } model.NewLaunchList = NewLaunchesList; var NewLaunchesList2 = new List<HomeCatalogViewModel>(); foreach (var item in modelRecords.OrderByDescending(x => Guid.NewGuid()).Take(4)) { if (item.Status == "Active") { var modelNewLaunch = new HomeCatalogViewModel() { ModelId = item.ModelId, ModelNumber = item.ModelNumber, Price = item.Price, BrandName = (from m in db.Models join b in db.Brands on m.BrandId equals b.BrandId where m.ModelId == item.ModelId select b.Name).FirstOrDefault(), ImageUrl = (from ph in db.Photos join pm in db.PhotoModels on ph.PhotoId equals pm.PhotoId join m in db.Models on pm.ModelId equals m.ModelId where pm.ModelId == item.ModelId select ph.ImageUrl).FirstOrDefault(), DtCreated = (from m in db.Models where m.ModelId == item.ModelId select m.DtCreated).FirstOrDefault() }; NewLaunchesList2.Add(modelNewLaunch); } } model.NewLaunchList2 = NewLaunchesList2; var mobilesRecord = (from m in db.Models join i in db.Items on m.ItemId equals i.ItemId join p in db.Products on i.ProductId equals p.ProductId join c in db.Categories on p.CategoryId equals c.CategoryId where m.Status == "Active" && p.Description == "Mobile Phones" select m).ToList(); var mobilesList = new List<HomeCatalogViewModel>(); foreach (var item in mobilesRecord.OrderByDescending(x => Guid.NewGuid()).Take(3)) { if (item.Status == "Active") { var modelItem = new HomeCatalogViewModel() { ModelId = item.ModelId, ModelNumber = item.ModelNumber, Price = item.Price, BrandName = (from m in db.Models join b in db.Brands on m.BrandId equals b.BrandId where m.ModelId == item.ModelId select b.Name).FirstOrDefault(), ImageUrl = (from ph in db.Photos join pm in db.PhotoModels on ph.PhotoId equals pm.PhotoId join m in db.Models on pm.ModelId equals m.ModelId where pm.ModelId == item.ModelId select ph.ImageUrl).FirstOrDefault(), DtCreated = (from m in db.Models where m.ModelId == item.ModelId select m.DtCreated).FirstOrDefault() }; mobilesList.Add(modelItem); } } model.Mobiles = mobilesList.OrderByDescending(m => m.DtCreated); var computersRecord = (from m in db.Models join i in db.Items on m.ItemId equals i.ItemId join p in db.Products on i.ProductId equals p.ProductId join c in db.Categories on p.CategoryId equals c.CategoryId where m.Status == "Active" && c.Description == "Computers" select m).ToList(); var computersList = new List<HomeCatalogViewModel>(); foreach (var item in computersRecord.OrderByDescending(x => Guid.NewGuid()).Take(3)) { if (item.Status == "Active") { var modelItem = new HomeCatalogViewModel() { ModelId = item.ModelId, ModelNumber = item.ModelNumber, Price = item.Price, BrandName = (from m in db.Models join b in db.Brands on m.BrandId equals b.BrandId where m.ModelId == item.ModelId select b.Name).FirstOrDefault(), ImageUrl = (from ph in db.Photos join pm in db.PhotoModels on ph.PhotoId equals pm.PhotoId join m in db.Models on pm.ModelId equals m.ModelId where pm.ModelId == item.ModelId select ph.ImageUrl).FirstOrDefault(), DtCreated = (from m in db.Models where m.ModelId == item.ModelId select m.DtCreated).FirstOrDefault() }; computersList.Add(modelItem); } } model.Computers = computersList.OrderByDescending(m => m.DtCreated); var GamingRecord = (from m in db.Models join i in db.Items on m.ItemId equals i.ItemId join p in db.Products on i.ProductId equals p.ProductId join c in db.Categories on p.CategoryId equals c.CategoryId where m.Status == "Active" && c.Description == "Gaming" select m).ToList(); var GamingList = new List<HomeCatalogViewModel>(); foreach (var item in GamingRecord.OrderByDescending(x => Guid.NewGuid()).Take(3)) { if (item.Status == "Active") { var modelItem = new HomeCatalogViewModel() { ModelId = item.ModelId, ModelNumber = item.ModelNumber, Price = item.Price, BrandName = (from m in db.Models join b in db.Brands on m.BrandId equals b.BrandId where m.ModelId == item.ModelId select b.Name).FirstOrDefault(), ImageUrl = (from ph in db.Photos join pm in db.PhotoModels on ph.PhotoId equals pm.PhotoId join m in db.Models on pm.ModelId equals m.ModelId where pm.ModelId == item.ModelId select ph.ImageUrl).FirstOrDefault(), DtCreated = (from m in db.Models where m.ModelId == item.ModelId select m.DtCreated).FirstOrDefault() }; GamingList.Add(modelItem); } } model.Gaming = GamingList.OrderByDescending(m => m.DtCreated); var WomenFashionRecord = (from m in db.Models join i in db.Items on m.ItemId equals i.ItemId join p in db.Products on i.ProductId equals p.ProductId join c in db.Categories on p.CategoryId equals c.CategoryId where m.Status == "Active" && c.Description == "Women's Fashion" select m).ToList(); var WomenFashionList = new List<HomeCatalogViewModel>(); foreach (var item in WomenFashionRecord.OrderByDescending(x => Guid.NewGuid()).Take(3)) { if (item.Status == "Active") { var modelItem = new HomeCatalogViewModel() { ModelId = item.ModelId, ModelNumber = item.ModelNumber, Price = item.Price, BrandName = (from m in db.Models join b in db.Brands on m.BrandId equals b.BrandId where m.ModelId == item.ModelId select b.Name).FirstOrDefault(), ImageUrl = (from ph in db.Photos join pm in db.PhotoModels on ph.PhotoId equals pm.PhotoId join m in db.Models on pm.ModelId equals m.ModelId where pm.ModelId == item.ModelId select ph.ImageUrl).FirstOrDefault(), DtCreated = (from m in db.Models where m.ModelId == item.ModelId select m.DtCreated).FirstOrDefault() }; WomenFashionList.Add(modelItem); } } ViewBag.WomenFashion = WomenFashionList.OrderByDescending(m => m.DtCreated); ViewBag.StatusMessage = message == ManageMessageId.ActivationSuccess ? "Your account has been successfully activated." : message == ManageMessageId.Error ? "An error has occurred." : ""; return View(model); }
public ActionResult Catalog(int id, int? page) { if (User.IsInRole("Supplier")) return RedirectToAction("Index", "Supplier"); if (User.IsInRole("Admin")) return RedirectToAction("Index", "Admin"); if (id < 0) { return RedirectToAction("Error404", "Home"); } var records = (from m in db.Models where m.ItemId == id && m.Status == "Active" select m).ToList(); var itemName = (from i in db.Items where i.ItemId == id select i.Description).FirstOrDefault(); ViewBag.ItemTitle = itemName; var CatalogList = new List<HomeCatalogViewModel>(); ViewBag.BrandId = new SelectList(db.Brands, "BrandId", "Name"); foreach (var item in records) { var CatalogItem = new HomeCatalogViewModel() { ModelId = item.ModelId, ModelNumber = item.ModelNumber, Price = item.Price, BrandName = (from m in db.Models join b in db.Brands on m.BrandId equals b.BrandId where m.ModelId == item.ModelId select b.Name).FirstOrDefault(), ImageUrl = (from ph in db.Photos join pm in db.PhotoModels on ph.PhotoId equals pm.PhotoId join m in db.Models on pm.ModelId equals m.ModelId where pm.ModelId == item.ModelId select ph.ImageUrl).FirstOrDefault(), DtCreated = (from m in db.Models where m.ModelId == item.ModelId select m.DtCreated).FirstOrDefault() }; CatalogList.Add(CatalogItem); } Session["ItemId"] = id.ToString(); //Paging Section var pageNumber = page ?? 1; // if no pagenumber is specified in the querystring, it will assign pageNumber to 1 by default var pageOfProducts = CatalogList.OrderByDescending(c => c.DtCreated).ToPagedList(pageNumber, 10); //set the number of records per page ViewBag.pageOfProducts = pageOfProducts; return View(); }
public ActionResult CatalogByPrice(int? minPrice, int? maxPrice, int? page) { if (User.IsInRole("Supplier")) return RedirectToAction("Index", "Supplier"); if (User.IsInRole("Admin")) return RedirectToAction("Index", "Admin"); string ItemIdInString = Session["ItemId"] as string; int ItemId = Convert.ToInt32(ItemIdInString); ViewBag.BrandId = new SelectList(db.Brands, "BrandId", "Name"); var minPriceVal = minPrice ?? 0; var maxPriceVal = maxPrice ?? 0; var records = db.Models.Where(m => m.Price >= minPriceVal && m.Price <= maxPriceVal && m.Status == "Active" && m.ItemId == ItemId).ToList(); var CatalogList = new List<HomeCatalogViewModel>(); foreach (var item in records) { var CatalogItem = new HomeCatalogViewModel() { ModelId = item.ModelId, ModelNumber = item.ModelNumber, Price = item.Price, BrandName = (from m in db.Models join b in db.Brands on m.BrandId equals b.BrandId where m.ModelId == item.ModelId select b.Name).FirstOrDefault(), ImageUrl = (from ph in db.Photos join pm in db.PhotoModels on ph.PhotoId equals pm.PhotoId join m in db.Models on pm.ModelId equals m.ModelId where pm.ModelId == item.ModelId select ph.ImageUrl).FirstOrDefault(), DtCreated = (from m in db.Models where m.ModelId == item.ModelId select m.DtCreated).FirstOrDefault() }; CatalogList.Add(CatalogItem); } var pageNumber = page ?? 1; // if no pagenumber is specified in the querystring, it will assign pageNumber to 1 by default var pageOfProducts = CatalogList.OrderByDescending(c => c.DtCreated).ToPagedList(pageNumber, 10); //set the number of records per page ViewBag.pageOfProducts = pageOfProducts; return View("Catalog"); }
public JsonResult GetNewModels() { try { var ModelRecords = _modelRepository.Retrieve().OrderByDescending(i => i.DtCreated).Take(4); var NewModelList = new List<HomeCatalogViewModel>().ToList(); foreach (var item in ModelRecords) { var NewModel = new HomeCatalogViewModel() { ModelId = item.ModelId, ModelNumber = item.ModelNumber, Price = item.Price, BrandName = (from m in db.Models join b in db.Brands on m.BrandId equals b.BrandId where m.ModelId == item.ModelId select b.Name).FirstOrDefault(), ImageUrl = (from ph in db.Photos join pm in db.PhotoModels on ph.PhotoId equals pm.PhotoId join m in db.Models on pm.ModelId equals m.ModelId where pm.ModelId == item.ModelId select ph.ImageUrl).FirstOrDefault(), DtCreated = (from m in db.Models where m.ModelId == item.ModelId select m.DtCreated).FirstOrDefault() }; NewModelList.Add(NewModel); } return Json(NewModelList, JsonRequestBehavior.AllowGet); } catch (Exception ex) { return Json(new { ok = false, message = ex.Message }); } }