public IActionResult SubmitOrder() { var cartContents = HttpContext.Session.GetJson <Cart>("Cart"); var shipInfo = HttpContext.Session.GetJson <AddressViewModel>("ShipInfo"); var address = new Address() { FirstName = shipInfo.FirstName, LastName = shipInfo.LastName, AddressLine1 = shipInfo.AddressLine1, AddressLine2 = shipInfo.AddressLine1, City = shipInfo.City, State = shipInfo.State, Zipcode = (int)shipInfo.Zipcode, Phone = (long)shipInfo.Phone }; _context.Addresses.Add(address); var items = new List <LineItem>(); items.AddRange(cartContents.LineItems); var newOrder = new Order() { ShippingInfo = address, OrderItems = items, }; _context.AttachRange(newOrder.OrderItems); _context.Orders.Add(newOrder); _context.SaveChanges(); var orderId = newOrder.OrderId; HttpContext.Session.Clear(); return(View("OrderConfirmation")); }
public ActionResult SuccessView() { List <GioHang> gioHangs = Session["cart"] as List <GioHang>; var result = from g in gioHangs join k in db.KhachHangs on g.MaKH equals k.MaKH join s in db.SanPhams on g.MaSanPham equals s.MaSanPham select new Tmp4 { Ngay = Session["OrderTime"].ToString(), TenSanPham = s.TenSanPham, SoLuong = g.SoLuong, DonGia = s.GiaBan, ThanhTien = s.GiaBan * g.SoLuong, Hinh = s.Hinh, MaSanPham = s.MaSanPham }; if (Session["TotalMoney"] == null) { int total = 0; foreach (var money in result) { total = total + money.ThanhTien; } if (Session["voucher"] == null) { total += 23000; Session["TotalMoney"] = total; } else { Session["TotalMoney"] = total; } } ViewData["data"] = result; string tmp1 = Session["TotalMoney"].ToString(); int tmp = int.Parse(tmp1); if (Session["kh"] == null) { ECommerce.Models.Order order = new ECommerce.Models.Order { MaKH = 3, TongTien = tmp, NgayDatHang = DateTime.Parse(Session["OrderTime"].ToString()), DiaChi = "PayPal", SDT = "PayPal", HoTen = "PayPal" }; db.Orders.Add(order); db.SaveChanges(); foreach (var item in gioHangs) { ChiTietGioHang chiTietGioHang = new ChiTietGioHang { MaSanPham = item.MaSanPham, SoLuong = item.SoLuong, OrderID = order.OrderID }; db.ChiTietGioHangs.Add(chiTietGioHang); db.SaveChanges(); SanPham sanPham = db.SanPhams.Find(item.MaSanPham); sanPham.SoLuong = sanPham.SoLuong - item.SoLuong; db.SaveChanges(); if (sanPham.SoLuong == 0 & sanPham.TinhTrang != "Sản Phẩm Hot") { sanPham.TinhTrang = "Không Hiển Thị"; db.SaveChanges(); } } } else { string kh = Session["UserID"].ToString(); int maKH = int.Parse(kh); ECommerce.Models.Order order = new ECommerce.Models.Order { MaKH = maKH, TongTien = tmp, NgayDatHang = DateTime.Parse(Session["OrderTime"].ToString()), DiaChi = "PayPal", SDT = "PayPal", HoTen = "Payment with PayPal" }; db.Orders.Add(order); db.SaveChanges(); KhachHang khachHang = db.KhachHangs.Find(maKH); khachHang.DiemTichLuy += tmp / 1000; db.SaveChanges(); if (khachHang.DiemTichLuy >= 1000000) { khachHang.MaLoaiKH = 5; db.SaveChanges(); } else if (khachHang.DiemTichLuy >= 100000) { khachHang.MaLoaiKH = 4; db.SaveChanges(); } else if (khachHang.DiemTichLuy >= 10000) { khachHang.MaLoaiKH = 3; db.SaveChanges(); } else if (khachHang.DiemTichLuy >= 1000) { khachHang.MaLoaiKH = 2; db.SaveChanges(); } else { khachHang.MaLoaiKH = 1; db.SaveChanges(); } foreach (var item in gioHangs) { ChiTietGioHang chiTietGioHang = new ChiTietGioHang { MaSanPham = item.MaSanPham, SoLuong = item.SoLuong, OrderID = order.OrderID }; db.ChiTietGioHangs.Add(chiTietGioHang); db.SaveChanges(); SanPham sanPham = db.SanPhams.Find(item.MaSanPham); sanPham.SoLuong = sanPham.SoLuong - item.SoLuong; db.SaveChanges(); if (sanPham.SoLuong == 0 & sanPham.TinhTrang != "Sản Phẩm Hot") { sanPham.TinhTrang = "Không Hiển Thị"; db.SaveChanges(); } } } ViewBag.total = tmp; ViewBag.ds = gioHangs; Session.Remove("cart"); Session.Remove("TotalMoney"); if (Session["voucher"] != null) { Session.Remove("voucher"); } return(View()); }