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 })); } } }
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()); } }
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())); } } }
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 })); } }
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")); } }
/// <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>(); }
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")); } } }
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()); } } }