public ActionResult Checkout() { List <CartSession> lstCartItem = Session["fancycart"] as List <CartSession>; if (lstCartItem == null) { lstCartItem = new List <CartSession>(); } if (lstCartItem.Count <= 0) { return(RedirectToAction("Index")); } //load danh sách Province var listProvince = LocationDAO.GetListProvinces(); ViewBag.ListProvince = listProvince; ViewBag.ListCartItem = lstCartItem; var commonInfo = LocationDAO.GetCommonInfoByID("commoninfo"); ViewBag.CommonInfo = commonInfo; return(View()); }
public ActionResult Checkout(FormCollection form) { try { if (ModelState.IsValid) { var lstIP = CommonHelper.GetIPAddresses(); OrderBO order = new OrderBO(); order.id = DateTime.Now.Ticks.ToString(); order.createdate = DateTime.Now; order.fullname = form["fullname"].ToString(); int districtID = Convert.ToInt32(form["district"].ToString()); int provinceID = Convert.ToInt32(form["province"].ToString()); int wardID = Convert.ToInt32(form["ward"].ToString()); var provinceBO = LocationDAO.GetProvinceByID(provinceID); var districtBO = LocationDAO.GetDistrictByID(districtID); var wardBO = LocationDAO.GetWardByID(wardID); order.district = districtBO.name; order.province = provinceBO.name; order.ward = wardBO.name; order.email = form["email"].ToString(); order.phone = form["phone"].ToString(); order.fulladdress = form["orderfulladdress"].ToString(); order.note = form["ordernote"].ToString(); var listItemKey = form["listitemkey"].Split('|'); if (listItemKey == null || listItemKey.Count() <= 0 || String.IsNullOrEmpty(order.fullname) || String.IsNullOrEmpty(order.phone) || String.IsNullOrEmpty(order.fulladdress) || String.IsNullOrEmpty(order.district) || String.IsNullOrEmpty(order.province) || String.IsNullOrEmpty(order.ward)) {//phai dien day du thong tin return(RedirectToAction("Checkout")); } //get list item List <CartSession> lstCartItem = new List <CartSession>(); lstCartItem = Session["fancycart"] as List <CartSession>; if (lstCartItem == null) { return(RedirectToAction("Checkout")); } List <CartItemBO> lstCartItemBO = new List <CartItemBO>(); foreach (var item in lstCartItem) { CartItemBO cartItem = JsonConvert.DeserializeObject <CartItemBO>(JsonConvert.SerializeObject(item)); lstCartItemBO.Add(cartItem); } order.listitem = lstCartItemBO; //check payment method var payment = form["payment_method"]; if (payment.ToLower().Trim() == "bacs") { order.paymenttype = 2; } else { order.paymenttype = 1; } //tính discount if (order.paymenttype == 2) { order.totaldiscount = order.listitem.Sum(x => x.FinalPrice) * 5 / 100; } order.iporder = lstIP != null && lstIP.Count() > 0 ? lstIP.First() : ""; order.status = 1; order.statusname = "Chưa xử lý"; //insert to mongodb string error = ""; var result = OrderDAO.CreateOrder(order, ref error); if (result) { //remove item in cart lstCartItem.Clear(); #region create account //add user vào thông tin tài khoản luôn //check đã tồn tại username string username = !String.IsNullOrEmpty(order.email) ? order.email : order.phone; var userBO = UserDAO.GetUserByUserNameNotAdmin(username); if (userBO != null && userBO.id > 0) { return(RedirectToAction("ChekoutSuccess", new { orderid = order.id })); } UserBO user = new UserBO(); user.username = username; user.password = "******";//123456 user.phone = order.phone; user.isactive = 1; user.role = "customer"; user.fullname = order.fullname; user.address = order.fulladdress + ", " + order.ward + ", " + order.district + ", " + order.province; user.email = order.email; user.createddate = DateTime.Now; user.note = "User được tạo tự động khi submit đơn hàng thành công"; string errorMessage = String.Empty; result = UserDAO.CreateUser(user, ref errorMessage); #endregion } return(RedirectToAction("ChekoutSuccess", new { orderid = order.id })); } else { List <CartSession> lstCartItem = Session["fancycart"] as List <CartSession>; if (lstCartItem == null) { lstCartItem = new List <CartSession>(); } if (lstCartItem.Count <= 0) { return(RedirectToAction("Index")); } //load danh sách Province var listProvince = LocationDAO.GetListProvinces(); ViewBag.ListProvince = listProvince; ViewBag.ListCartItem = lstCartItem; var commonInfo = LocationDAO.GetCommonInfoByID("commoninfo"); ViewBag.CommonInfo = commonInfo; return(View("Checkout")); } } catch (Exception ex) { ModelState.AddModelError("", "* Quý khách vui lòng nhập đầy đủ thông tin để gửi đơn hàng ạ!"); List <CartSession> lstCartItem = Session["fancycart"] as List <CartSession>; if (lstCartItem == null) { lstCartItem = new List <CartSession>(); } if (lstCartItem.Count <= 0) { return(RedirectToAction("Index")); } //load danh sách Province var listProvince = LocationDAO.GetListProvinces(); ViewBag.ListProvince = listProvince; ViewBag.ListCartItem = lstCartItem; var commonInfo = LocationDAO.GetCommonInfoByID("commoninfo"); ViewBag.CommonInfo = commonInfo; return(View("Checkout")); } }