Exemplo n.º 1
0
 public IActionResult ThanhToan(ThanhToanVM model)
 {
     if (ModelState.IsValid)
     {
         var emailKh = User.Claims.FirstOrDefault(c => c.Type == ClaimTypes.Email).Value;
         var maKH    = int.Parse(User.Claims.FirstOrDefault(c => c.Type == "MaNguoiDung").Value);
         using (var trans = _context.Database.BeginTransaction())
         {
             try
             {
                 var donHang = new DonHang
                 {
                     MaDh             = Guid.NewGuid(),
                     MaKh             = maKH,
                     NgayDat          = DateTime.UtcNow,
                     TinhTrangDonHang = TinhTrangDonHang.MoiDatHang,
                     DiaChiGiao       = model.DiaChiGiao,
                     NguoiNhan        = model.NguoiNhan
                 };
                 _context.Add(donHang);
                 foreach (var item in Carts)
                 {
                     _context.Add(new DonHangChiTiet
                     {
                         MaDh    = donHang.MaDh,
                         MaHh    = item.MaHangHoa,
                         SoLuong = item.SoLuong,
                         DonGia  = item.DonGia
                     });
                 }
                 _context.SaveChanges();
                 trans.Commit();
                 HttpContext.Session.Remove("GioHang");
                 return(Redirect("/KhachHang/HangDaMua"));
             }
             catch (Exception ex)
             {
                 //log
                 trans.Rollback();
                 return(View());
             }
         }
     }
     return(View());
 }
Exemplo n.º 2
0
        public ActionResult Index(string back_url = "")
        {
            ViewBag.back_url = back_url;
            ThanhToanVM vm = new ThanhToanVM();

            using (var __db = new vuong_cms_context())
            {
                //user
                var uuu = MySsAuthUsers.GetAuth();
                if (uuu != null)
                {
                    var user = __db.Users.Find(uuu.ID);
                    vm.DiaChiGiaohang = user.Address;
                }
            }

            return(View(vm));
        }
Exemplo n.º 3
0
        public ActionResult Index(ThanhToanVM model)
        {
            var giohang = GioHang.Lay();

            if (!giohang.CTGioHangs.Any())
            {
                ModelState.AddModelError(string.Empty, "Giỏ hàng rỗng");
            }
            var uuu = MySsAuthUsers.GetAuth();

            if (uuu == null)
            {
                ModelState.AddModelError(string.Empty, "Vui lòng đăng nhập");
            }
            bool status = false;

            using (var __db = new vuong_cms_context())
            {
                if (ModelState.IsValid)
                {
                    using (var tx = __db.Database.BeginTransaction())
                    {
                        try
                        {
                            //donhang
                            DonHang donhang = new DonHang();
                            donhang.TongTienHang         = giohang.TongTienHang;
                            donhang.TrangThaiGiaoHangId  = 1;
                            donhang.TrangThaiThanhToanId = 1;

                            //ctdh
                            donhang.CTDonHangs = new Collection <CTDonHang>();
                            foreach (var gio in giohang.CTGioHangs)
                            {
                                donhang.CTDonHangs.Add(new CTDonHang()
                                {
                                    SanPhamId = gio.SanPhamId,
                                    SoLuong   = gio.SoLuong,
                                    ThanhTien = gio.ThanhTien,
                                    DonGia    = gio.DonGia,
                                });
                            }
                            //user

                            if (uuu != null)
                            {
                                donhang.UserId = uuu.ID;
                            }

                            __db.DonHangs.Add(donhang);
                            __db.SaveChanges();



                            //com
                            tx.Commit();
                        }
                        catch (Exception ex)
                        {
                            tx.Rollback();
                        }
                    }
                }
            }
            return(View(model));
        }