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));
        }
Exemple #2
0
        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));
        }