public ActionResult Details(int id) { ViewDetails perfume = (from p in db.perfume join b in db.brand on p.id_brand equals b.id where p.id == id select new ViewDetails() { id = p.id, image = p.image, name = p.name, brand = b.name, origin = b.origin, detail = p.details, price = p.price, price_sale = p.price - p.saleoff * p.price / 100 }).FirstOrDefault(); var gallery = (from i in db.image where i.id_perfume == id select i).ToList(); var comments = (from c in db.feedback where c.id_perfume == id select c).ToList(); //var comments = db.feedback.OrderByDescending(c => c.id).ToList().Where(c => c.id_perfume == id); PerfumeAndComment pac = new PerfumeAndComment(); pac.img_gallery = gallery; pac.perfumeView = perfume; pac.comments = comments; return(View(pac)); //return View(perfume); }
public ActionResult Details(int id, PerfumeAndComment model) { var user = db.AspNetUsers.Find(HttpContext.User.Identity.GetUserId()); ViewDetails perfume = (from p in db.perfume join b in db.brand on p.id_brand equals b.id where p.id == id select new ViewDetails() { id = p.id, image = p.image, name = p.name, brand = b.name, origin = b.origin, detail = p.details, price = p.price, price_sale = p.price - p.saleoff * p.price / 100 }).FirstOrDefault(); var gallery = (from i in db.image where i.id_perfume == id select i).ToList(); var comments = (from c in db.feedback where c.id_perfume == id select c).ToList(); model.img_gallery = gallery; model.perfumeView = perfume; model.comments = comments; string query = "Insert into dbo.feedback(subject,message,email,hoten,phone,id_perfume) values('comment','" + model.newcomment.message + "','" + user.Email + "','" + user.FullName + "','" + user.PhoneNumber + "'," + id + ")"; db.Database.ExecuteSqlCommand(query); //model.subject = "comment"; //model.email = user.Email; //model.hoten = user.FullName; //model.phone = user.PhoneNumber; //model.id_perfume = id; //db.feedback.Add(model); //return View(model); ViewBag.number = "100"; return(RedirectToAction("Details")); }
public ActionResult Details(int id) { ViewDetails perfume = (from p in db.perfume join b in db.brand on p.id_brand equals b.id where p.id == id select new ViewDetails() { id = p.id, image = p.image, name = p.name, brand = b.name, origin = b.origin, detail = p.details, price = p.price, status = p.status, price_sale = p.price - p.saleoff * p.price / 100 }).FirstOrDefault(); var gallery = (from i in db.image where i.id_perfume == id select i).ToList(); var comments = (from c in db.feedback where c.id_perfume == id select c).ToList(); var correl = (from c in db.ItemCorrel where c.product_1 == id || c.product_2 == id orderby c.correl descending select c).Take(5).ToArray(); var it = new List <ViewItem>(); foreach (var i in correl) { if (i.product_1 != id) { var itm = (from p in db.perfume where p.id == i.product_1 select new ViewItem() { id = p.id, image = p.image, name = p.name, price = p.price }).FirstOrDefault(); if (itm != null) { it.Add(itm); } } else if (i.product_2 != id) { var itm = (from p in db.perfume where p.id == i.product_2 select new ViewItem() { id = p.id, image = p.image, name = p.name, price = p.price }).FirstOrDefault(); if (itm != null) { it.Add(itm); } } } it.OrderByDescending(i => i.correl).ToArray(); var br = (from i in db.perfume where i.id == id select i).FirstOrDefault(); var br_per = (from p in db.perfume where p.id_brand == br.id_brand select p).ToList(); PerfumeAndComment pac = new PerfumeAndComment(); pac.img_gallery = gallery; pac.perfumeView = perfume; pac.comments = comments; pac.item_correl = new List <ViewItem>(); pac.item_correl = it; pac.it_brand = new List <perfume>(); pac.it_brand = br_per; if (HttpContext.User.Identity != null) { var user_id = HttpContext.User.Identity.GetUserId(); var user_rating = (from p in db.UserRating where p.user_id == user_id && p.product_id == id select p.rating).FirstOrDefault(); pac.your_rating = user_rating; } var all_rating = (from i in db.UserRating where i.product_id == id select i.rating).ToList(); pac.rates = new ProductRatings(); if (all_rating.Count() > 0) { pac.rates.all = all_rating.Count(); foreach (var rating in all_rating) { if (rating == 5) { pac.rates.five++; } if (rating == 4.5) { pac.rates.four_half++; } if (rating == 4) { pac.rates.four++; } if (rating == 3.5) { pac.rates.three_half++; } if (rating == 3) { pac.rates.three++; } if (rating == 2.5) { pac.rates.two_half++; } if (rating == 1) { pac.rates.two++; } if (rating == 1.5) { pac.rates.one_half++; } if (rating == 1) { pac.rates.one++; } if (rating == 0.5) { pac.rates.half++; } } } else { pac.rates.all = 1; } return(View(pac)); }