public async Task <IActionResult> CheckOut(ProductsOrder model) { var recaptcha = await _recaptcha.Validate(Request); if (!recaptcha.success) { ModelState.AddModelError("Recaptcha", "Mã Captcha không chính xác. Vui lòng thử lại!"); } else { if (ModelState.IsValid) { model.Id = 0; model.Status = 0; try { int PId = (int)(ProductsOrderService.SaveItem(model).N); //Thêm detail List <ProductsOrderDetail> listDT = new List <ProductsOrderDetail>(); //Kiem tra session var str1 = HttpContext.Session.GetString("ProductOrderList"); if (!string.IsNullOrEmpty(str1)) { listDT = JsonConvert.DeserializeObject <List <ProductsOrderDetail> >(str1); } foreach (var itemDT in listDT) { itemDT.ProductOrderId = PId; itemDT.Id = 0; ProductsOrderDetailService.SaveItem(itemDT); } HttpContext.Session.SetString("ProductOrderList", ""); TempData["MessageSuccess"] = "Đặt hàng thành công. Chúng tôi sẽ liên hệ với bạn trong thời gian sớm nhất."; } catch { TempData["MessageError"] = "Đặt hàng thất bại. Xin vui lòng thử lại"; } return(RedirectToAction("CheckOut")); } } ProductsOrderModel item = new ProductsOrderModel(); item.ListDetail = new List <ProductsOrderDetail>(); //Kiem tra session var str = HttpContext.Session.GetString("ProductOrderList"); if (!string.IsNullOrEmpty(str)) { item.ListDetail = JsonConvert.DeserializeObject <List <ProductsOrderDetail> >(str); } item.Item = model; return(View(item)); }
public ActionResult SaveItem(ProductsOrder model) { string ControllerName = this.ControllerContext.RouteData.Values["controller"].ToString(); int IdDC = Int32.Parse(MyModels.Decode(model.Ids, API.Models.Settings.SecretId + ControllerName).ToString()); ProductsOrderModel data = new ProductsOrderModel() { Item = model }; if (ModelState.IsValid) { if (model.Id == IdDC) { model.ModifiedBy = int.Parse(HttpContext.Request.Headers["Id"]); ProductsOrderService.SaveItem(model); if (model.Id > 0) { TempData["MessageSuccess"] = "Cập nhật thành công"; } else { TempData["MessageSuccess"] = "Thêm mới thành công"; } string Str_Url = HttpContext.Session.GetString("STR_Action_Link_" + ControllerName); if (Str_Url != null && Str_Url != "") { return(Redirect("/Admin/" + this.ControllerContext.RouteData.Values["controller"].ToString() + "/Index" + Str_Url)); } else { return(RedirectToAction("Index")); } } } else { //data.ListStart = ProductsOrderService.GetListStart(); } return(View(data)); }