public void AutoSendMailforProduct(RecommendProduct rcmProduct)
 {
     int havepointCount = 0;
     var aliasProducts = db.AliasProducts.FirstOrDefault(x => x.IsActive == true && rcmProduct.Parselink.Contains(x.URL));
     if (aliasProducts != null)
     {
         var countElement = db.ProductAttributes.Where(x => x.ProductID == aliasProducts.ProductID).ToList();
         if (countElement.Count() >= 5)
         {
             foreach (var itemCount in countElement)
             {
                 var itemHardware = db.Hardwares.FirstOrDefault(x => x.ID == itemCount.AttributeID);
                 if (itemHardware != null)
                 {
                     if (itemHardware.WeightCriteraPoint > 0)
                     {
                         havepointCount++;
                     }
                 }
             }
         }
     }
     if (havepointCount >= 5)
     {
         Task.Factory.StartNew(() => SendEmail(rcmProduct.Email, "Laptop mà bạn đề xuất đã được cập nhật", aliasProducts.Name, aliasProducts.ProductID.ToString()));
         var itemRecommendMailSent = db.RecommendProducts.FirstOrDefault(x => x.ID == rcmProduct.ID);
         if (itemRecommendMailSent != null) itemRecommendMailSent.IsMailSent = true;
         db.SaveChanges();
     }
 }
 public ActionResult SetIsTrue(int id)
 {
     var recommend = context.RecommendProducts.FirstOrDefault(x => x.ID == id && x.IsApprove == null);
     if (ModelState.IsValid)
     {
         recommend.IsTrue = false;
         TempData["SetIsTrue"] = "success";
         context.SaveChanges();
     }
     // Display the confirmation message
     var results = new RecommendProduct
     {
         IsTrue = true
     };
     return Json(results);
 }
        public ActionResult Recommend(RecommendProduct recommendproduct)
        {
            recommendproduct.RecommendTime = DateTime.Now;

            recommendproduct.IsApprove = null;
            recommendproduct.IsTrue = false;
            if (User.Identity.IsAuthenticated == true)
            {
                recommendproduct.Username = User.Identity.Name;
            }
            else
            {
                recommendproduct.Username = "******";
            }
            db.RecommendProducts.Add(recommendproduct);
            db.SaveChanges();
            return RedirectToAction("ThanksForRecommend"); ;
        }
        public ActionResult CreateRecommend(string ParseProductLink)
        {
            var rmd = new RecommendProduct
            {
                Email = "*****@*****.**",
                IsApprove = true,
                IsMailSent = false,
                IsReceive = false,
                IsSeen = false,
                IsTrue = false,
                Parselink = ParseProductLink,
                RecommendTime = DateTime.Now,
                Username = "******",
            };
            context.RecommendProducts.Add(rmd);
            context.SaveChanges();

            HtmlNode.ElementsFlags.Remove("form");
            ParserHelper.LoadWebProduct(ParseProductLink);
            TempData["existed"] = "false";
            var uri = new Uri(ParseProductLink);
            string host = uri.GetLeftPart(UriPartial.Authority);
            var parseInfo = context.ParseInfoes.FirstOrDefault(info => info.Parselink.Contains(host));
            if (parseInfo != null)
            {
                TempData["existed"] = "true";
                TempData["parseInfo"] = parseInfo;
            }

            TempData["link"] = ParseProductLink;
            TempData["idRecommendProduct"] = rmd.ID;
            return RedirectToAction("CreateProductParser");
        }