Example #1
0
 public ActionResult Increase(int id, ShoppingCart cart)
 {
     using (Entities1 db = new Entities1())
     {
         if (db.ShoppingCarts.Where(x => x.cartID == id).FirstOrDefault().productQuantityOrder < 10)
         {
             cart.cartID               = id;
             cart.userID               = db.ShoppingCarts.Where(x => x.cartID == id).FirstOrDefault().userID;
             cart.productID            = db.ShoppingCarts.Where(x => x.cartID == id).FirstOrDefault().productID;
             cart.productQuantityOrder = db.ShoppingCarts.Where(x => x.cartID == id).FirstOrDefault().productQuantityOrder + 1;
             cart.productPrice         = (float)db.ShoppingCarts.Where(x => x.cartID == id).FirstOrDefault().productPrice;
             cart.productTotalPrice    = cart.productQuantityOrder * cart.productPrice;
             var local = db.Set <ShoppingCart>()
                         .Local
                         .FirstOrDefault(f => f.cartID == id);
             if (local != null)
             {
                 db.Entry(local).State = EntityState.Detached;
             }
             db.Entry(cart).State = EntityState.Modified;
             db.SaveChanges();
             return(RedirectToAction("CartList", "Products", new { id = cart.userID }));
         }
         else
         {
             TempData["ErrorMes"] = "<script>alert('Số lượng mặt hàng không thể bé hơn 0 và lớn hơn 10');</script>";
             return(RedirectToAction("CartList", "Products", new { id = db.ShoppingCarts.Where(x => x.cartID == id).FirstOrDefault().userID }));
         }
     }
 }
Example #2
0
 public ActionResult ChangePassword(User user)
 {
     try
     {
         if (Session["username"] != null)
         {
             using (Entities1 db = new Entities1())
             {
                 var username = Session["username"].ToString();
                 var opass    = Request["oldpass"].ToString();
                 var npass    = Request["newpass"].ToString();
                 var cnpass   = Request["confirmnewpass"].ToString();
                 user = db.Users.Where(x => x.username.Equals(username)).FirstOrDefault();
                 if (user.password.Equals(opass))
                 {
                     if (npass.Equals(cnpass))
                     {
                         user.password = npass;
                         var local = db.Set <User>()
                                     .Local
                                     .FirstOrDefault(f => f.username.Equals(username));
                         if (local != null)
                         {
                             db.Entry(local).State = EntityState.Detached;
                         }
                         db.Entry(user).State = EntityState.Modified;
                         db.SaveChanges();
                         return(RedirectToAction("ViewProfile"));
                     }
                     else
                     {
                         ViewBag.ErrorMessege = "<script>alert('Mật khẩu mới không được trùng mật khẩu cũ.');</script>";
                         return(View());
                     }
                 }
                 else
                 {
                     ViewBag.ErrorMessege = "<script>alert('Mật khẩu cũ sai');</script>";
                     return(View());
                 }
             }
         }
         else
         {
             return(RedirectToAction("LoginA", "Login"));
         }
     }
     catch
     {
         ViewBag.ErrorMessege = "<script>alert('Kết quả sai.');</script>";
         return(View());
     }
 }
Example #3
0
        public ActionResult EditProfile(int id, User user)
        {
            var username = Session["username"].ToString();

            using (Entities1 db = new Entities1())
            {
                List <User> listUser = db.Users.ToList();
                bool        flag     = true;
                foreach (User us in listUser)
                {
                    if (us.username.Equals(username) == false)
                    {
                        if (us.email != null && us.phone != null && us.username != null)
                        {
                            if (user.email.ToLower().Equals(us.email.ToLower()) || user.phone.ToLower().Equals(us.phone.ToLower()) || user.email.ToLower().Equals(us.phone.ToLower()) || user.phone.ToLower().Equals(us.email.ToLower()) || user.username.ToLower().Equals(us.email.ToLower()) || user.username.ToLower().Equals(us.phone.ToLower()))
                            {
                                flag = false;
                            }
                        }
                    }
                }
                if (flag == true)
                {
                    string   currentDate = DateTime.Now.ToString("dd/mm/yyyy");
                    DateTime current     = DateTime.ParseExact(currentDate, "dd/mm/yyyy", CultureInfo.InvariantCulture);
                    DateTime birth       = DateTime.ParseExact(user.birthday, "dd/mm/yyyy", CultureInfo.InvariantCulture);
                    if (birth < current)
                    {
                        user.email    = user.email.ToLower();
                        user.username = user.username.ToLower();
                        var local = db.Set <User>().Local.FirstOrDefault(f => f.userID == id);
                        if (local != null)
                        {
                            db.Entry(local).State = EntityState.Detached;
                        }
                        db.Entry(user).State = EntityState.Modified;
                        db.SaveChanges();
                        TempData["msg"] = "<script>alert('Cập nhật thông tin người dùng thành công');</script>";
                        return(RedirectToAction("ViewProfile"));
                    }
                    else
                    {
                        ViewBag.ErrorMessege = "<script>alert('Không nhập quá ngày hiện tại. Xin vui lòng nhập lại!!!');</script>";
                        return(View());
                    }
                }
                else
                {
                    ViewBag.ErrorMessege = "<script>alert('Email hoặc số điện đã được đăng ký');</script>";
                    return(View(db.Users.Where(x => x.username.Equals(username)).FirstOrDefault()));
                }
            }
        }
Example #4
0
 public ActionResult Unrate(string id)
 {
     try
     {
         using (Entities1 db = new Entities1())
         {
             string user  = Session["username"].ToString();
             Rating arate = db.Ratings.Where(x => x.productID.Equals(id) && x.userID == db.Users.Where(y => y.username.Equals(user)).FirstOrDefault().userID).FirstOrDefault();
             db.Ratings.Remove(arate);
             db.SaveChanges();
             var           count    = 0;
             List <Rating> listRate = db.Ratings.ToList();
             foreach (Rating rate in listRate)
             {
                 if (rate.productID.Equals(id))
                 {
                     count += 1;
                 }
             }
             Product pro = db.Products.Where(x => x.productID.Equals(id)).FirstOrDefault();
             pro.productRate = count;
             var local = db.Set <Product>()
                         .Local
                         .FirstOrDefault(f => f.productID == id);
             if (local != null)
             {
                 db.Entry(local).State = EntityState.Detached;
             }
             db.Entry(pro).State = EntityState.Modified;
             db.SaveChanges();
             ViewBag.ID = id;
             return(RedirectToAction("Details", "Products", new { id = id }));
         }
     }
     catch (Exception)
     {
         ViewBag.ErrorMessege = "<script>alert('Exeption');</script>";
         return(RedirectToAction("Details", "Products", new { id = id }));
     }
 }
Example #5
0
        public ActionResult Feedback()
        {
            var feedback = Request["feedback"].ToString();

            using (Entities1 db = new Entities1())
            {
                var            pname  = Session["pname"].ToString();
                List <Product> listPr = db.Products.Where(x => x.productName.ToLower().Equals(pname.ToLower())).ToList();
                foreach (Product prd in listPr)
                {
                    prd.productFeedback = prd.productFeedback + ", " + feedback;
                    var local = db.Set <Product>().Local.FirstOrDefault(f => f.productID == prd.productID);
                    if (local != null)
                    {
                        db.Entry(local).State = EntityState.Detached;
                    }
                    db.Entry(prd).State = EntityState.Modified;
                    db.SaveChanges();
                }

                return(RedirectToAction("Index", "Products"));
            }
        }
        public ActionResult Order(FormCollection form)
        {
            string address    = form["Address"].ToString();
            string email      = form["Email"].ToString();
            string phone      = form["Phone"].ToString();
            string checkValid = checkOrderInfor(email, phone);

            if (checkValid == "Succeed")
            {
                Order         od       = new Order();
                ShippingInfor si       = new ShippingInfor();
                string        username = Session["username"].ToString();
                using (Entities1 db = new Entities1())
                {
                    List <Order>         listOrder        = db.Orders.ToList();
                    List <OrderDetail>   listOrderDetails = db.OrderDetails.ToList();
                    List <ShoppingCart>  listCart         = db.ShoppingCarts.ToList();
                    List <ShippingInfor> listShipping     = db.ShippingInfors.ToList();
                    float totalPrice = 0;
                    foreach (ShoppingCart sc in listCart)
                    {
                        if (sc.userID == db.Users.Where(x => x.username.Equals(username)).FirstOrDefault().userID)
                        {
                            totalPrice += (float)sc.productTotalPrice;
                        }
                    }
                    if (listOrder.Count == 0)
                    {
                        od.orderID         = 1;
                        od.userID          = db.Users.Where(x => x.username.Equals(username)).FirstOrDefault().userID;
                        od.orderTotalPrice = totalPrice;
                        od.dateCreate      = DateTime.Now.ToString();
                        od.dateConfirm     = "Chưa xác nhận";
                        od.orderStatus     = "Đang chờ xử lý";
                        db.Orders.Add(od);
                        db.SaveChanges();
                    }
                    else
                    {
                        od.orderID         = listOrder[listOrder.Count - 1].orderID + 1;
                        od.userID          = db.Users.Where(x => x.username.Equals(username)).FirstOrDefault().userID;
                        od.orderTotalPrice = totalPrice;
                        od.dateCreate      = DateTime.Now.ToString();
                        od.dateConfirm     = "Chưa xác nhận";
                        od.orderStatus     = "Đang chờ xử lý";
                        db.Orders.Add(od);
                        db.SaveChanges();
                    }

                    foreach (ShoppingCart sc in listCart)
                    {
                        List <OrderDetail> lodt = db.OrderDetails.ToList();
                        if (sc.userID == db.Users.Where(x => x.username.Equals(username)).FirstOrDefault().userID)
                        {
                            if (lodt.Count > 0)
                            {
                                OrderDetail odt = new OrderDetail()
                                {
                                    orderDetailID        = lodt[lodt.Count - 1].orderDetailID + 1,
                                    orderID              = od.orderID,
                                    productName          = db.Products.Where(x => x.productID.Equals(sc.productID)).FirstOrDefault().productName,
                                    productQuantityOrder = sc.productQuantityOrder,
                                    productTotalPrice    = sc.productTotalPrice,
                                    productID            = sc.productID
                                };
                                Inventory iv = db.Inventories.Where(x => x.productID.Equals(sc.productID)).FirstOrDefault();
                                iv.productQuantity = iv.productQuantity - sc.productQuantityOrder;
                                var local = db.Set <Inventory>()
                                            .Local
                                            .FirstOrDefault(f => f.productID == sc.productID);
                                if (local != null)
                                {
                                    db.Entry(local).State = EntityState.Detached;
                                }
                                db.Entry(iv).State = EntityState.Modified;
                                db.SaveChanges();
                                db.OrderDetails.Add(odt);
                                db.SaveChanges();
                            }
                            else
                            {
                                OrderDetail odt = new OrderDetail()
                                {
                                    orderDetailID        = 1,
                                    orderID              = od.orderID,
                                    productName          = db.Products.Where(x => x.productID.Equals(sc.productID)).FirstOrDefault().productName,
                                    productQuantityOrder = sc.productQuantityOrder,
                                    productTotalPrice    = sc.productTotalPrice,
                                    productID            = sc.productID
                                };
                                Inventory iv = db.Inventories.Where(x => x.productID.Equals(sc.productID)).FirstOrDefault();
                                iv.productQuantity = iv.productQuantity - sc.productQuantityOrder;
                                var local = db.Set <Inventory>()
                                            .Local
                                            .FirstOrDefault(f => f.productID == sc.productID);
                                if (local != null)
                                {
                                    db.Entry(local).State = EntityState.Detached;
                                }
                                db.Entry(iv).State = EntityState.Modified;
                                db.SaveChanges();
                                db.OrderDetails.Add(odt);
                                db.SaveChanges();
                            }
                        }
                    }
                    if (listShipping.Count == 0)
                    {
                        si.shipID    = 1;
                        si.orderID   = od.orderID;
                        si.shipPhone = phone;
                        si.address   = address;
                        si.shipName  = db.Users.Where(x => x.username.Equals(username)).FirstOrDefault().fullname;
                        si.dateShip  = null;
                        db.ShippingInfors.Add(si);
                        db.SaveChanges();
                    }
                    else
                    {
                        si.shipID    = listShipping[listShipping.Count - 1].shipID + 1;
                        si.orderID   = od.orderID;
                        si.shipPhone = phone;
                        si.address   = address;
                        si.shipName  = db.Users.Where(x => x.username.Equals(username)).FirstOrDefault().fullname;
                        si.dateShip  = null;
                        db.ShippingInfors.Add(si);
                        db.SaveChanges();
                    }
                    foreach (ShoppingCart sc in listCart)
                    {
                        if (sc.userID == db.Users.Where(x => x.username.Equals(username)).FirstOrDefault().userID)
                        {
                            db.ShoppingCarts.Remove(sc);
                            db.SaveChanges();
                        }
                    }
                    return(RedirectToAction("ListOrder", "CheckoutAndOrder", new { id = db.Users.Where(x => x.username.Equals(username)).FirstOrDefault().userID }));
                }
            }
            else
            {
                TempData["msg"] = "<script>alert('" + checkValid + "');</script>";
                return(RedirectToAction("Checkout", "CheckoutAndOrder"));
            }
        }
Example #7
0
 /// <summary>
 /// Initializes a new instance of the <see cref="Repository{TEntity}"/> class
 /// </summary>
 /// <param name="context">the context</param>
 public Repository(Entities1 context)
 {
     this.context   = context;
     this.entitySet = context.Set <TEntity>();
 }
Example #8
0
 public ActionResult AddCart()
 {
     using (Entities1 db = new Entities1())
     {
         var    uid       = 1;
         var    color     = Request["grb1"].ToString();
         var    size      = Request["fs" + color].ToString();
         string getQuan   = Request["quantitybox"].ToString();
         bool   validQuan = quanValid(getQuan);
         if (Session["username"] != null)
         {
             if (validQuan == true)
             {
                 var pname   = Session["pname"].ToString();
                 var sesUser = Session["username"].ToString();
                 uid = db.Users.Where(x => x.username.Equals(sesUser)).FirstOrDefault().userID;
                 var quantity = Convert.ToInt32(getQuan);
                 var pid      = db.Products.Where(y => y.productName.ToLower().Equals(pname.ToLower()) && y.productColor.Equals(color) && y.productSize.Equals(size)).FirstOrDefault().productID;
                 int stock    = db.Inventories.Where(x => x.productID.Equals(pid)).FirstOrDefault().productQuantity;
                 List <ShoppingCart> listCart = db.ShoppingCarts.Where(x => x.userID.Equals(uid)).ToList();
                 bool cartExistProduct        = false;
                 foreach (ShoppingCart sc in listCart)
                 {
                     if (sc.productID.Equals(pid))
                     {
                         cartExistProduct = true;
                     }
                 }
                 if (cartExistProduct == false)
                 {
                     if (checkStock(quantity, stock) == true)
                     {
                         List <ShoppingCart> spCart = db.ShoppingCarts.ToList();
                         if (spCart.Count > 0)
                         {
                             ShoppingCart sp = new ShoppingCart();
                             sp.cartID               = spCart[spCart.Count - 1].cartID + 1;
                             sp.userID               = uid;
                             sp.productID            = pid;
                             sp.productQuantityOrder = quantity;
                             sp.productPrice         = (float)db.Products.Where(x => x.productName.ToLower().Equals(pname.ToLower())).FirstOrDefault().exportPrice;
                             sp.productTotalPrice    = sp.productQuantityOrder * sp.productPrice;
                             db.ShoppingCarts.Add(sp);
                             db.SaveChanges();
                         }
                         else
                         {
                             ShoppingCart sp = new ShoppingCart();
                             sp.cartID               = 1;
                             sp.userID               = uid;
                             sp.productID            = pid;
                             sp.productQuantityOrder = quantity;
                             sp.productPrice         = (float)db.Products.Where(x => x.productName.ToLower().Equals(pname.ToLower())).FirstOrDefault().exportPrice;
                             sp.productTotalPrice    = sp.productQuantityOrder * sp.productPrice;
                             db.ShoppingCarts.Add(sp);
                             db.SaveChanges();
                         }
                         return(RedirectToAction("CartList", "Products", new { id = uid }));
                     }
                     else
                     {
                         string pid1 = db.Products.Where(x => x.productName.Equals(pname)).FirstOrDefault().productID;
                         TempData["ErrorMes"] = "<script>alert('Số lượng nhập vào phải bé hơn hoặc bằng số lượng hàng còn lại trong kho');</script>";
                         return(RedirectToAction("Details", "Products", new { id = pid }));
                     }
                 }
                 else
                 {
                     if (checkStock(quantity, stock) == true)
                     {
                         List <ShoppingCart> spCart = db.ShoppingCarts.Where(x => x.userID == uid).ToList();
                         foreach (ShoppingCart sc in spCart)
                         {
                             if (sc.productID.Equals(pid))
                             {
                                 sc.productQuantityOrder += 1;
                                 var local = db.Set <ShoppingCart>().Local.FirstOrDefault(f => f.cartID == sc.cartID);
                                 if (local != null)
                                 {
                                     db.Entry(local).State = EntityState.Detached;
                                 }
                                 db.Entry(sc).State = EntityState.Modified;
                                 db.SaveChanges();
                             }
                         }
                         return(RedirectToAction("CartList", "Products", new { id = uid }));
                     }
                     else
                     {
                         string pid1 = db.Products.Where(x => x.productName.Equals(pname)).FirstOrDefault().productID;
                         TempData["ErrorMes"] = "<script>alert('Số lượng nhập vào phải bé hơn hoặc bằng số lượng hàng còn lại trong kho');</script>";
                         return(RedirectToAction("Details", "Products", new { id = pid }));
                     }
                 }
             }
             else
             {
                 var pname = Session["pname"].ToString();
                 using (Entities1 db2 = new Entities1())
                 {
                     string pid = db2.Products.Where(x => x.productName.Equals(pname)).FirstOrDefault().productID;
                     TempData["ErrorMes"] = "<script>alert('Số lượng nhập vào là số tự nhiên từ 1 đến 10');</script>";
                     return(RedirectToAction("Details", "Products", new { id = pid }));
                 }
             }
         }
         else
         {
             return(RedirectToAction("LoginA", "Login"));
         }
     }
 }
Example #9
0
        public ActionResult ResetPassword(EmailModel model)
        {
            string senderEmail = System.Configuration.ConfigurationManager.AppSettings["SenderEmail"].ToString();
            string senderPass  = System.Configuration.ConfigurationManager.AppSettings["SenderPassword"].ToString();

            using (Entities1 db = new Entities1())
            {
                if (db.Users.Where(x => x.username.Equals(model.Username)).FirstOrDefault() != null)
                {
                    if (db.Users.Where(x => x.username.Equals(model.Username)).FirstOrDefault().email.Equals(model.Email))
                    {
                        using (MailMessage mm = new MailMessage(senderEmail, model.Email))
                        {
                            mm.Subject = "Reset password";
                            Random rnd = new Random();

                            string pass = "";
                            for (int x = 0; x < 6; x += 1)
                            {
                                char randomChar = (char)rnd.Next('a', 'z');
                                pass += randomChar;
                            }
                            User us = db.Users.Where(x => x.username.Equals(model.Username)).FirstOrDefault();
                            us.password = pass;
                            var local = db.Set <User>()
                                        .Local
                                        .FirstOrDefault(f => f.username.Equals(model.Username));
                            if (local != null)
                            {
                                db.Entry(local).State = EntityState.Detached;
                            }
                            db.Entry(us).State = EntityState.Modified;
                            db.SaveChanges();
                            mm.Body       = "Mật khẩu mới của bạn:  " + pass;
                            mm.IsBodyHtml = false;
                            using (SmtpClient smtp = new SmtpClient())
                            {
                                smtp.Host      = "smtp.gmail.com";
                                smtp.EnableSsl = true;
                                NetworkCredential NetworkCred = new NetworkCredential(senderEmail, senderPass);
                                smtp.UseDefaultCredentials = true;
                                smtp.Credentials           = NetworkCred;
                                smtp.Port = 587;
                                smtp.Send(mm);
                                ViewBag.Message = "Email sent.";
                            }
                        }

                        return(View());
                    }
                    else
                    {
                        ViewBag.ErrorMessege = "<script>alert('Email đăng ký không trùng khớp');</script>";
                        return(View());
                    }
                }
                else
                {
                    ViewBag.ErrorMessege = "<script>alert('Không có tài khoản');</script>";
                    return(View());
                }
            }
        }