public IActionResult DoCheckOut(Hoadon hd) { Khachhang kh = db.Khachhang.Where(x => x.Email == HttpContext.Session.Get <string>("user")).SingleOrDefault(); hd.Makh = kh.Makh; hd.Matrangthai = 1; hd.Ngaydat = DateTime.Now; hd.Ngaygiao = DateTime.Now.AddDays(7); hd.Cachthanhtoan = hd.Cachthanhtoan; db.Hoadon.Add(hd); db.SaveChanges(); int hoadonid = db.Hoadon.OrderByDescending(x => x.Mahd).ToList()[0].Mahd; List <CartItem> chitiet = HttpContext.Session.Get <List <CartItem> >("gioHang"); foreach (var x in chitiet) { Chitiethoadon ct = new Chitiethoadon { Mahd = hoadonid, Mahh = x.Masp, Soluong = x.Soluong, Dongia = x.Dongia, Giamgia = x.Giamgia }; db.Chitiethoadon.Add(ct); } db.SaveChanges(); HttpContext.Session.Set("gioHang", ""); return(View("CheckOut", db.Hoadon.Where(x => x.Mahd == hoadonid).SingleOrDefault())); }
public async Task <IActionResult> PutChitiethoadon([FromRoute] string id, [FromBody] Chitiethoadon chitiethoadon) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != chitiethoadon.Mahd) { return(BadRequest()); } _context.Entry(chitiethoadon).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!ChitiethoadonExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public void AddOrder(string currentusername, Hoadon Order, List <Item> cart, Chitiethoadon OrderDetail) { int customerid = _unitOfWork.Nhanviens.GetIdNhanvien(currentusername); Order.NhanvienId = customerid; Order.Ngaylap = DateTime.Now; //add Order var orderAdded = _unitOfWork.Hoadons.Add(Order); _unitOfWork.Complete(); //save //add item for (var i = 0; i < cart.Count; i++) { //them vao bang OrderDetail OrderDetail = new Chitiethoadon(); OrderDetail.ChitiethoadonId = cart[i].Product.MonanId; OrderDetail.ChitiethoadonId = orderAdded.HoadonId; //orderid OrderDetail.Soluong = cart[i].Quantity; _unitOfWork.ChitietHoadons.Add(OrderDetail); _unitOfWork.Complete();//luu database } cart.Clear(); //xoa gio hang }
public async Task <IActionResult> Edit(int id, [Bind("Mahd,Masp,Thanhtien,Soluong,Gia,CreatedAt,UpdatedAt")] Chitiethoadon chitiethoadon) { if (id != chitiethoadon.Mahd) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(chitiethoadon); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!ChitiethoadonExists(chitiethoadon.Mahd)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } ViewData["Mahd"] = new SelectList(_context.Hoadon, "Mahd", "Tinhtrang", chitiethoadon.Mahd); ViewData["Masp"] = new SelectList(_context.Sanpham, "Masp", "Tensp", chitiethoadon.Masp); return(View(chitiethoadon)); }
public async Task <IActionResult> PostChitiethoadon([FromBody] Chitiethoadon chitiethoadon) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } _context.Chitiethoadon.Add(chitiethoadon); try { await _context.SaveChangesAsync(); } catch (DbUpdateException) { if (ChitiethoadonExists(chitiethoadon.Mahd)) { return(new StatusCodeResult(StatusCodes.Status409Conflict)); } else { throw; } } return(CreatedAtAction("GetChitiethoadon", new { id = chitiethoadon.Mahd }, chitiethoadon)); }
public void addTblCthd() { var context = new Dtb_NhaSachContext(); for (int i = 0; i < this.dgv1.Rows.Count - 1; i++) { var maSach = context.Saches.Where(s => s.TenSach.Trim() == this.dgv1.Rows[i].Cells[1].Value.ToString().Trim()) .Select(s => s.MaSach).FirstOrDefault(); var getSohd = context.Hoadons.Select(s => s.SoHd).Max(); var cthd = new Chitiethoadon() { MaSach = maSach.Trim(), SoHd = getSohd, SoLuongBan = int.Parse(this.dgv1.Rows[i].Cells[2].Value.ToString().Trim()), ThanhTien = double.Parse(this.dgv1.Rows[i].Cells[5].Value.ToString().Trim()), GiamGia = double.Parse(this.dgv1.Rows[i].Cells[4].Value.ToString().Trim()), GiaSauGiam = double.Parse(this.dgv1.Rows[i].Cells[6].Value.ToString().Trim()), DonGia = double.Parse(this.dgv1.Rows[i].Cells[3].Value.ToString().Trim()), }; context.Chitiethoadons.Add(cthd); context.SaveChanges(); } }
public ActionResult DeleteConfirmed(int id) { Chitiethoadon chitiethoadon = db.Chitiethoadons.Find(id); db.Chitiethoadons.Remove(chitiethoadon); db.SaveChanges(); return(RedirectToAction("Index")); }
public ActionResult Edit([Bind(Include = "Ma_CTHD,Ma_HD,Ten_HH,Soluong,Gia")] Chitiethoadon chitiethoadon) { if (ModelState.IsValid) { db.Entry(chitiethoadon).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.Ma_HD = new SelectList(db.Hoadons, "Ma_HD", "Ma_HD", chitiethoadon.Ma_HD); return(View(chitiethoadon)); }
public async Task <IActionResult> Create([Bind("Mahd,Masp,Thanhtien,Soluong,Gia,CreatedAt,UpdatedAt")] Chitiethoadon chitiethoadon) { if (ModelState.IsValid) { _context.Add(chitiethoadon); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } ViewData["Mahd"] = new SelectList(_context.Hoadon, "Mahd", "Mahd", chitiethoadon.Mahd); ViewData["Masp"] = new SelectList(_context.Sanpham, "Masp", "Tensp", chitiethoadon.Masp); return(View(chitiethoadon)); }
// GET: Admin/Chitiethoadons/Details/5 public ActionResult Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Chitiethoadon chitiethoadon = db.Chitiethoadons.Find(id); if (chitiethoadon == null) { return(HttpNotFound()); } return(View(chitiethoadon)); }
public async Task <IActionResult> HoaDon(int id) { if (ModelState.IsValid) { //hóa đơn Hoadon hoadon = new Hoadon(); hoadon.Ghichu = null; hoadon.Ngayhd = DateTime.Now; hoadon.Idkh = id; List <Item> cart = SessionHelper.GetObjectFromJson <List <Item> >(HttpContext.Session, "cart"); ViewBag.cart = cart; if (cart != null) { hoadon.Tongtien = Convert.ToInt32(cart.Sum(item => item.sanpham.Gia * item.Quantity * item.sanpham.Giakhuyenmai)); } hoadon.Tinhtrang = "chua"; Context.Add(hoadon); await Context.SaveChangesAsync(); //chi tiết hóa đơn foreach (var item in ViewBag.cart) { Chitiethoadon cthd = new Chitiethoadon(); cthd.Mahd = hoadon.Mahd; cthd.Masp = item.sanpham.Masp; cthd.Soluong = item.Quantity; cthd.Thanhtien = item.sanpham.Gia * item.sanpham.Giakhuyenmai * item.Quantity; cthd.Gia = item.sanpham.Gia * item.sanpham.Giakhuyenmai; Context.Add(cthd); // ViewData["Mahd"] = new SelectList(Context.Hoadon, "Mahd", "Mahd", cthd.Mahd); // ViewData["Masp"] = new SelectList(Context.Sanpham, "Masp", "Tensp", cthd.Masp); } await Context.SaveChangesAsync(); return(RedirectToAction(nameof(TrangChu))); } // return(View()); }
// GET: Admin/Chitiethoadons/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Chitiethoadon chitiethoadon = db.Chitiethoadons.Find(id); if (chitiethoadon == null) { return(HttpNotFound()); } ViewBag.Ma_HD = new SelectList(db.Hoadons, "Ma_HD", "Ma_HD", chitiethoadon.Ma_HD); return(View(chitiethoadon)); }
public IActionResult XemChiTietHoaDon(int id) { var dbContext = new shopContext(); var cthd = (from ct in dbContext.Chitiethoadon join sp in dbContext.Sanpham on ct.SanPhamId equals sp.SanPhamId join kt in dbContext.Kichthuoc on ct.KichThuocId equals kt.KichThuocid join ha in dbContext.Hinhanh on sp.HinhAnhId equals ha.HinhAnhId where ct.HoaDonId == id select new{ tensp = sp.TenSanPham, soluong = ct.SoLuong, Tenkichthuoc = kt.TenKichThuoc, giatien = ct.TongTien, tienkm = ct.TienKhuyenMai, tiensaukm = ct.TongSauKm, hinhanh = ha.TenFile }); List <Chitiethoadon> dsChiTiet = new List <Chitiethoadon>(); foreach (var item in cthd) { Chitiethoadon ct = new Chitiethoadon(); Hinhanh ha = new Hinhanh(); Sanpham sp = new Sanpham(); Kichthuoc kt = new Kichthuoc(); sp.TenSanPham = item.tensp; ct.SoLuong = item.soluong; kt.TenKichThuoc = item.Tenkichthuoc; ct.TongTien = item.giatien; ct.TienKhuyenMai = item.tienkm; ct.TongSauKm = item.tiensaukm; ha.TenFile = item.hinhanh; sp.HinhAnh = ha; ct.SanPham = sp; ct.KichThuoc = kt; dsChiTiet.Add(ct); } ViewBag.chitiet = dsChiTiet; ViewBag.idHoaDon = id; return(View()); }
public IActionResult XacNhanDatHang(Hoadon model, string GiamGia) { var dbContext = new shopContext(); List <Chitiethoadon> ListChiTietHoaDon = JsonConvert.DeserializeObject <List <Chitiethoadon> >(HttpContext.Session.GetString("gioHangSession")); if (HttpContext.Session.GetString("username") == null || ListChiTietHoaDon.Count == 0) { return(RedirectToAction("XacNhanDatHang", "sanpham")); } else { //lay khachhangid var username = HttpContext.Session.GetString("username"); var TKId = (from tk in dbContext.Taikhoan join kh in dbContext.Khachhang on tk.TaiKhoanId equals kh.TaiKhoanId where tk.Username == username select kh).ToList(); int khId = TKId[0].KhachHangId; //lay ngay tao DateTime ngayTao = DateTime.Now; //lay quan var quan = (from q in dbContext.Phiship where q.PhiShipId == model.PhiShipId select q).ToList(); var TenQuan = quan[0].Quan; // lay tien ship var tienShip = quan[0].ChiPhi; float?tongTienChuaShip = 0; foreach (Chitiethoadon ct in ListChiTietHoaDon) { tongTienChuaShip = tongTienChuaShip + ct.TongTien; } //lay tien giam gia float?TienGiamGia = 0; if (GiamGia != null) { var magiamgia = (from gg in dbContext.Magiamgia where gg.MaGiamGia1 == GiamGia select gg).ToList(); if (magiamgia.Count == 0) { TienGiamGia = 0; } else { TienGiamGia = tongTienChuaShip * magiamgia[0].PhanTram; //xóa mã giảm giá khi đã được sử dụng var discount = dbContext.Magiamgia.First(a => a.MaGiamGiaId == magiamgia[0].MaGiamGiaId); dbContext.Magiamgia.Remove(discount); dbContext.SaveChanges(); } } //lay tong tien thanh toan float?TongTienThanhToan = tongTienChuaShip - TienGiamGia + tienShip; //insert hoa don var HoaDon = new Hoadon() { NgayTao = ngayTao, SoNha = model.SoNha, Quan = TenQuan, PhiShipId = model.PhiShipId, TongTienThanhToan = TongTienThanhToan, TrangThai = "Chờ xử lý", KhachHangId = khId, TenNguoiNhan = model.TenNguoiNhan, Sdt = model.Sdt, TongTienChuaShip = tongTienChuaShip, TienGiamGia = TienGiamGia // SessionId = sessionId }; dbContext.Hoadon.Add(HoaDon); dbContext.SaveChanges(); // lay mahoadon var hd = (from h in dbContext.Hoadon orderby h.HoaDonId descending select h).ToList(); var hoadonId = hd[0].HoaDonId; //insert chitiethoadon foreach (var item in ListChiTietHoaDon) { //lay phan tram giam gia cua san pham float?phanTramGiam = 0; var sp = (from x in dbContext.Sanpham join km in dbContext.Khuyenmai on x.KhuyenMaiId equals km.KhuyenMaiId where x.SanPhamId == item.SanPhamId select new{ khuyenmaiid = x.KhuyenMaiId, phantram = km.PhanTramGiam }).ToList(); if (sp.Count != 0) { phanTramGiam = sp[0].phantram; } // lay gia them cua moi kich thuoc san pham var kt = (from k in dbContext.Kichthuoc where k.KichThuocid == item.KichThuocId select k).ToList(); float?GiaThem = kt[0].GiaThem; var cthd = new Chitiethoadon() { HoaDonId = hoadonId, SanPhamId = item.SanPhamId, SoLuong = item.SoLuong, TienKhuyenMai = phanTramGiam * item.SanPham.GiaBanLe * item.SoLuong, TongTien = item.SanPham.GiaBanLe * item.SoLuong + item.SoLuong * GiaThem, TongSauKm = item.TongTien, KichThuocId = item.KichThuocId }; dbContext.Chitiethoadon.Add(cthd); dbContext.SaveChanges(); } // tạo mã giảm giá sau khi mua hàng string randomMaGiamGia = RandomString(6, true); var MaGiamGia = new Magiamgia() { MaGiamGia1 = randomMaGiamGia, PhanTram = (float?)0.05 }; dbContext.Magiamgia.Add(MaGiamGia); dbContext.SaveChanges(); // HttpContext.Session.Remove("idSession"); HttpContext.Session.Remove("gioHangSession"); ViewBag.maGiamGia = randomMaGiamGia; return(RedirectToAction("DatHangThanhCong", "sanpham", new { discountId = randomMaGiamGia })); } }
public List <Chitiethoadon> LuuGioHang(int maspp, int soluong, int kichthuocId) { var dbContext = new shopContext(); // string idSession = HttpContext.Session.GetString("idSession"); var sanPham = (from sp in dbContext.Sanpham where sp.SanPhamId == maspp select sp).ToList(); List <Chitiethoadon> chiTietHoaDons = JsonConvert.DeserializeObject <List <Chitiethoadon> >(HttpContext.Session.GetString("gioHangSession")); // nếu số lượng là 0 thì hủy sản phẩm trong giỏ hàng if (soluong == 0) { for (int i = 0; i < chiTietHoaDons.Count(); i++) { if (chiTietHoaDons[i].SanPhamId == maspp) { chiTietHoaDons.RemoveAt(i); } } HttpContext.Session.SetString("gioHangSession", JsonConvert.SerializeObject(chiTietHoaDons)); } else { // lay gia them khi thay doi kich thuoc var kichthuoc = (from kt in dbContext.Kichthuoc where kt.KichThuocid == kichthuocId select kt).ToList(); // kiem tra gio hang co ton tai san pham nay chua int flag = 0; for (int i = 0; i < chiTietHoaDons.Count(); i++) { if (chiTietHoaDons[i].SanPhamId == maspp) { flag = 1; } } //neu gio hang chua co san pham nay if (flag == 0) { float?phanTramGiam = 0; if (sanPham[0].KhuyenMaiId != null) { var km = (from x in dbContext.Khuyenmai where x.KhuyenMaiId == sanPham[0].KhuyenMaiId select x).ToList(); phanTramGiam = km[0].PhanTramGiam; // phanTramGiam = sanPham[0].KhuyenMai.PhanTramGiam; } Chitiethoadon cthd = new Chitiethoadon(); cthd.SanPhamId = maspp; cthd.SoLuong = soluong; cthd.KichThuocId = kichthuocId; cthd.TongTien = sanPham[0].GiaBanLe * soluong - soluong * phanTramGiam * sanPham[0].GiaBanLe + soluong * kichthuoc[0].GiaThem; chiTietHoaDons.Add(cthd); HttpContext.Session.SetString("gioHangSession", JsonConvert.SerializeObject(chiTietHoaDons)); } // neu gio hang da ton tai san pham nay else { for (int i = 0; i < chiTietHoaDons.Count(); i++) { if (chiTietHoaDons[i].SanPhamId == maspp) { float?phanTramGiam = 0; if (sanPham[0].KhuyenMaiId != null) { // phanTramGiam = sanPham[0].KhuyenMai.PhanTramGiam; var km = (from x in dbContext.Khuyenmai where x.KhuyenMaiId == sanPham[0].KhuyenMaiId select x).ToList(); phanTramGiam = km[0].PhanTramGiam; } chiTietHoaDons[i].KichThuocId = kichthuocId; chiTietHoaDons[i].SoLuong = soluong; chiTietHoaDons[i].TongTien = soluong * sanPham[0].GiaBanLe - soluong * phanTramGiam * sanPham[0].GiaBanLe + soluong * kichthuoc[0].GiaThem; HttpContext.Session.SetString("gioHangSession", JsonConvert.SerializeObject(chiTietHoaDons)); } } } } // hiển thị giỏ hàng float?TongTien = 0; List <Chitiethoadon> listGioHang = JsonConvert.DeserializeObject <List <Chitiethoadon> >(HttpContext.Session.GetString("gioHangSession")); System.Console.WriteLine(HttpContext.Session.GetString("gioHangSession")); List <Chitiethoadon> ListSanPhamCart = new List <Chitiethoadon>(); for (int i = 0; i < listGioHang.Count(); i++) { var gh = (from sp in dbContext.Sanpham join kt in dbContext.Kichthuoc on sp.SanPhamId equals kt.SanPhamId where kt.KichThuocid == listGioHang[i].KichThuocId select new { masp = sp.SanPhamId, tensp = sp.TenSanPham.ToString(), GiaBanLe = sp.GiaBanLe, kichThuocId = kt.KichThuocid, TenKichThuoc = kt.TenKichThuoc.ToString(), GiaThem = kt.GiaThem, soluong = listGioHang[i].SoLuong, tongtien = listGioHang[i].TongTien.ToString() } ).ToList(); foreach (var x in gh) { Chitiethoadon ct = new Chitiethoadon(); Sanpham sp = new Sanpham(); Kichthuoc kt = new Kichthuoc(); ct.KichThuocId = x.kichThuocId; kt.TenKichThuoc = x.TenKichThuoc; kt.GiaThem = x.GiaThem; ct.SanPhamId = x.masp; sp.TenSanPham = x.tensp; sp.GiaBanLe = x.GiaBanLe; ct.SoLuong = x.soluong; float tong = float.Parse(x.tongtien); ct.TongTien = tong; TongTien = TongTien + ct.TongTien; ct.SanPham = sp; ct.KichThuoc = kt; ListSanPhamCart.Add(ct); } } return(ListSanPhamCart); }
public IActionResult DatHang(int id) { var dbContext = new shopContext(); var sanpham = (from sp in dbContext.Sanpham where sp.SanPhamId == id select sp).ToList(); var ListSP = (from sp in dbContext.Sanpham join h in dbContext.Hinhanh on sp.HinhAnhId equals h.HinhAnhId join km in dbContext.Khuyenmai on sp.KhuyenMaiId equals km.KhuyenMaiId into x from subkm in x.DefaultIfEmpty() select new { PhanLoaiId = sp.PhanLoaiId, SanPhamId = sp.SanPhamId, TenSanPham = sp.TenSanPham, GiaBanLe = sp.GiaBanLe, HinhAnh = h.TenFile, PhanTramGiam = subkm.PhanTramGiam, KhuyenmaiId = sp.KhuyenMaiId }); List <Sanpham> List = new List <Sanpham>(); foreach (var item in ListSP) { var sp = new Sanpham(); var h = new Hinhanh(); var k = new Khuyenmai(); float?giaSauGiam = item.GiaBanLe - item.GiaBanLe * item.PhanTramGiam; sp.PhanLoaiId = item.PhanLoaiId; sp.SanPhamId = item.SanPhamId; sp.TenSanPham = item.TenSanPham; sp.GiaBanLe = item.GiaBanLe; h.TenFile = item.HinhAnh; k.PhanTramGiam = item.PhanTramGiam * 100; sp.KhuyenMaiId = item.KhuyenmaiId; sp.GiaGoc = giaSauGiam; sp.HinhAnh = h; sp.KhuyenMai = k; List.Add(sp); } ViewData["listSP"] = List; var PhanLoai = (from pl in dbContext.Phanloai orderby pl.PhanLoaiId select pl); List <Phanloai> ListPL = new List <Phanloai>(); foreach (var item in PhanLoai) { Phanloai phanloai = new Phanloai(); phanloai.PhanLoaiId = item.PhanLoaiId; phanloai.TenLoai = item.TenLoai; ListPL.Add(phanloai); } ViewData["listPL"] = ListPL; //lay ma khuyen mai cua san pham float?phantramKM = 0; if (sanpham[0].KhuyenMaiId != null) { var km = (from khuyenmai in dbContext.Khuyenmai where khuyenmai.KhuyenMaiId == sanpham[0].KhuyenMaiId select khuyenmai).ToList(); phantramKM = km[0].PhanTramGiam; } //-------------------------- var gioHangSession = HttpContext.Session.GetString("gioHangSession"); if (gioHangSession == null) { //chưa có giỏ hàng (khởi tạo) var KichThuoc = (from kt in dbContext.Kichthuoc where kt.SanPhamId == id select kt).ToList(); var ktId = 0; foreach (var item in KichThuoc) { if (item.TenKichThuoc == "Nhỏ") { ktId = item.KichThuocid; } } List <Chitiethoadon> ListChiTietHoaDon = new List <Chitiethoadon>(); Chitiethoadon chitiethoadon = new Chitiethoadon(); chitiethoadon.SanPhamId = id; chitiethoadon.SoLuong = 1; chitiethoadon.KichThuocId = ktId; chitiethoadon.TongTien = (float)(sanpham[0].GiaBanLe * 1 - sanpham[0].GiaBanLe * phantramKM); ListChiTietHoaDon.Add(chitiethoadon); HttpContext.Session.SetString("gioHangSession", JsonConvert.SerializeObject(ListChiTietHoaDon)); } else { // nếu đã có giỏ hàng sẵn List <Chitiethoadon> listCart = JsonConvert.DeserializeObject <List <Chitiethoadon> >(HttpContext.Session.GetString("gioHangSession")); // kiểm tra sản phẩm thêm vào có tồn tại trong giỏ hàng chưa int flag = 0; for (int i = 0; i < listCart.Count; i++) { if (listCart[i].SanPhamId == id) { // listCart.RemoveAt(i); flag = 1; } } if (flag == 0)// giỏ hàng chưa có sản phẩm này { var KichThuoc = (from kt in dbContext.Kichthuoc where kt.SanPhamId == id select kt).ToList(); var ktId = 0; foreach (var item in KichThuoc) { if (item.TenKichThuoc == "Nhỏ") { ktId = item.KichThuocid; } } Chitiethoadon chitiethoadon = new Chitiethoadon(); chitiethoadon.SanPhamId = id; chitiethoadon.SoLuong = 1; chitiethoadon.KichThuocId = ktId; chitiethoadon.TongTien = (float)(sanpham[0].GiaBanLe * 1 - sanpham[0].GiaBanLe * phantramKM); listCart.Add(chitiethoadon); HttpContext.Session.SetString("gioHangSession", JsonConvert.SerializeObject(listCart)); } else // giỏ hàng đã có sản phẩm // nếu có rồi thì giữ nguyên như cũ { } } //--------------------------- //hiển thị giỏ hàng //----------------------------- float?TongTien = 0; List <Chitiethoadon> chiTietHoaDonss = JsonConvert.DeserializeObject <List <Chitiethoadon> >(HttpContext.Session.GetString("gioHangSession")); List <Chitiethoadon> ListSanPhamCart = new List <Chitiethoadon>(); for (int i = 0; i < chiTietHoaDonss.Count(); i++) { var gh = (from sp in dbContext.Sanpham join kt in dbContext.Kichthuoc on sp.SanPhamId equals kt.SanPhamId where kt.KichThuocid == chiTietHoaDonss[i].KichThuocId select new { masp = sp.SanPhamId, tensp = sp.TenSanPham.ToString(), GiaBanLe = sp.GiaBanLe, kichThuocId = kt.KichThuocid, TenKichThuoc = kt.TenKichThuoc.ToString(), GiaThem = kt.GiaThem, soluong = chiTietHoaDonss[i].SoLuong, tongtien = chiTietHoaDonss[i].TongTien.ToString() } ).ToList(); foreach (var x in gh) { Chitiethoadon ct = new Chitiethoadon(); Sanpham sp = new Sanpham(); Kichthuoc kt = new Kichthuoc(); ct.KichThuocId = x.kichThuocId; kt.TenKichThuoc = x.TenKichThuoc; kt.GiaThem = x.GiaThem; ct.SanPhamId = x.masp; sp.TenSanPham = x.tensp; sp.GiaBanLe = x.GiaBanLe; ct.SoLuong = x.soluong; float tong = float.Parse(x.tongtien); ct.TongTien = tong; TongTien = TongTien + ct.TongTien; ct.SanPham = sp; ct.KichThuoc = kt; ListSanPhamCart.Add(ct); } } HttpContext.Session.SetString("gioHangSession", JsonConvert.SerializeObject(ListSanPhamCart)); ViewBag.tongtien = TongTien; ViewBag.gioHang = ListSanPhamCart; //--------------------------------- // ViewBag.gioHang = new List<Chitiethoadon>(); return(View(sanpham)); }
public FormHoaDon() { InitializeComponent(); HttpClient client1 = new HttpClient(); client1.BaseAddress = new Uri("https://localhost:44326/"); HttpResponseMessage response1 = client1.GetAsync("api/ChitietHDPhong?iddat=" + Program.idhd + "").Result; var ctbillphong = response1.Content.ReadAsAsync <IEnumerable <CTDP> >().Result; HttpClient client = new HttpClient(); client.BaseAddress = new Uri("https://localhost:44326/"); HttpResponseMessage response = client.GetAsync("api/TypeRoom").Result; var loai = response.Content.ReadAsAsync <IEnumerable <LoaiPhong> >().Result; HttpClient client3 = new HttpClient(); client3.BaseAddress = new Uri("https://localhost:44326/"); HttpResponseMessage response3 = client3.GetAsync("api/Room").Result; var room = response3.Content.ReadAsAsync <IEnumerable <Room> >().Result; var query1 = from t1 in ctbillphong from t2 in loai from t3 in room where t1.Sophong == t3.Sophong && t3.Loaiphong == t2.Loaiphong1 && t1.IDDAT == Program.idhd select new { t1.Ngayden, t1.Ngaydi, Sophong = t3.Sophong, Tien = t2.Gia, }; HttpClient client2 = new HttpClient(); client2.BaseAddress = new Uri("https://localhost:44326/"); HttpResponseMessage response2 = client2.GetAsync("api/CTHDDV?idhd=" + Program.idhd + "").Result; var cthddv = response2.Content.ReadAsAsync <IEnumerable <CTDDV> >().Result; HttpClient client4 = new HttpClient(); client4.BaseAddress = new Uri("https://localhost:44326/"); HttpResponseMessage response4 = client4.GetAsync("api/Service").Result; var service = response4.Content.ReadAsAsync <IEnumerable <Service> >().Result; var query2 = from t1 in cthddv from t2 in service where t1.IDDV == t2.IDDV && t1.IDDAT == Program.idhd select new { Tendv = t2.TenDV, Gia = t2.GiaDV, soluong = t1.Soluong }; if (query1 == null && query2 == null) { MessageBox.Show("Hóa đơn này không hợp lệ", "", MessageBoxButtons.OK); this.Close(); //return; } else if (query2 == null) { var x1 = query1.ToList(); foreach (var pi in x1) { // thiet lap de in ra Chitiethoadon ct2 = new Chitiethoadon(); ct2.sophong = pi.Sophong; ct2.Ngayden = pi.Ngayden; ct2.Ngaydi = pi.Ngaydi; ct2.giaphong = pi.Tien; // thiet lap hien thi Chitiethoadonphong ct = new Chitiethoadonphong(); ct.sophong = pi.Sophong; ct.Ngayden = pi.Ngayden; ct.Ngaydi = pi.Ngaydi; ct.giaphong = pi.Tien; DateTime n1 = new DateTime(pi.Ngayden.Year, pi.Ngayden.Month, pi.Ngayden.Day); DateTime n2 = new DateTime(pi.Ngaydi.Year, pi.Ngaydi.Month, pi.Ngaydi.Day); if (DateTime.Compare(n1, n2) == 0) { ct.songayo = 1; ct2.songayo = 1; } else { TimeSpan time = n2 - n1; ct.songayo = time.Days; ct2.songayo = time.Days; } cthd.Add(ct); cthdin.Add(ct2); } //return; } else if (query1 == null) { var x2 = query2.ToList(); foreach (var pi in x2) { // thiet lap de in ra Chitiethoadon ct2 = new Chitiethoadon(); ct2.tendv = pi.Tendv; ct2.soluong = pi.soluong; ct2.giadv = pi.Gia; // hien thi Chitiethoadondv ct = new Chitiethoadondv(); ct.TenDV = pi.Tendv; ct.soluong = pi.soluong; ct.giadv = pi.Gia; ctdv.Add(ct); cthdin.Add(ct2); } } else { var x1 = query1.ToList(); var x2 = query2.ToList(); if (x1.Count > x2.Count) { for (int i = 0; i < x2.Count; i++) { // thiet lap de in ra Chitiethoadon ct1 = new Chitiethoadon(); ct1.sophong = x1[i].Sophong; ct1.Ngayden = x1[i].Ngayden; ct1.Ngaydi = x1[i].Ngaydi; ct1.giaphong = x1[i].Tien; ct1.tendv = x2[i].Tendv; ct1.soluong = x2[i].soluong; ct1.giadv = x2[i].Gia; // hien thi Chitiethoadonphong ct = new Chitiethoadonphong(); ct.sophong = x1[i].Sophong; ct.Ngayden = x1[i].Ngayden; ct.Ngaydi = x1[i].Ngaydi; ct.giaphong = x1[i].Tien; DateTime n1 = new DateTime(x1[i].Ngayden.Year, x1[i].Ngayden.Month, x1[i].Ngayden.Day); DateTime n2 = new DateTime(x1[i].Ngaydi.Year, x1[i].Ngaydi.Month, x1[i].Ngaydi.Day); if (DateTime.Compare(n1, n2) == 0) { ct.songayo = 1; ct1.songayo = 1; } else { TimeSpan time = n2 - n1; ct.songayo = time.Days; ct1.songayo = time.Days; } cthd.Add(ct); Chitiethoadondv ct2 = new Chitiethoadondv(); ct2.TenDV = x2[i].Tendv; ct2.soluong = x2[i].soluong; ct2.giadv = x2[i].Gia; ctdv.Add(ct2); cthdin.Add(ct1); } for (int k = x1.Count - 1; k >= x2.Count; k--) { // thiet lap de in ra Chitiethoadon ct1 = new Chitiethoadon(); ct1.sophong = x1[k].Sophong; ct1.Ngayden = x1[k].Ngayden; ct1.Ngaydi = x1[k].Ngaydi; ct1.giaphong = x1[k].Tien; ct1.tendv = ""; ct1.soluong = null; ct1.giadv = null; // hien thi Chitiethoadonphong ct = new Chitiethoadonphong(); ct.sophong = x1[k].Sophong; ct.Ngayden = x1[k].Ngayden; ct.Ngaydi = x1[k].Ngaydi; ct.giaphong = x1[k].Tien; DateTime n1 = new DateTime(x1[k].Ngayden.Year, x1[k].Ngayden.Month, x1[k].Ngayden.Day); DateTime n2 = new DateTime(x1[k].Ngaydi.Year, x1[k].Ngaydi.Month, x1[k].Ngaydi.Day); if (DateTime.Compare(n1, n2) == 0) { ct.songayo = 1; ct1.songayo = 1; } else { TimeSpan time = n2 - n1; ct.songayo = time.Days; ct1.songayo = time.Days; } cthd.Add(ct); Chitiethoadondv ct2 = new Chitiethoadondv(); ct2.TenDV = ""; ct2.soluong = null; ct2.giadv = null; ctdv.Add(ct2); cthdin.Add(ct1); } //return; } else if (x2.Count > x1.Count) { for (int i = 0; i < x1.Count; i++) { // thiet lap de in ra Chitiethoadon ct1 = new Chitiethoadon(); ct1.sophong = x1[i].Sophong; ct1.Ngayden = x1[i].Ngayden; ct1.Ngaydi = x1[i].Ngaydi; ct1.giaphong = x1[i].Tien; ct1.tendv = x2[i].Tendv; ct1.soluong = x2[i].soluong; ct1.giadv = x2[i].Gia; // hien thi Chitiethoadonphong ct = new Chitiethoadonphong(); ct.sophong = x1[i].Sophong; ct.Ngayden = x1[i].Ngayden; ct.Ngaydi = x1[i].Ngaydi; ct.giaphong = x1[i].Tien; DateTime n1 = new DateTime(x1[i].Ngayden.Year, x1[i].Ngayden.Month, x1[i].Ngayden.Day); DateTime n2 = new DateTime(x1[i].Ngaydi.Year, x1[i].Ngaydi.Month, x1[i].Ngaydi.Day); if (DateTime.Compare(n1, n2) == 0) { ct.songayo = 1; ct1.songayo = 1; } else { TimeSpan time = n2 - n1; ct.songayo = time.Days; ct1.songayo = time.Days; } cthd.Add(ct); Chitiethoadondv ct2 = new Chitiethoadondv(); ct2.TenDV = x2[i].Tendv; ct2.soluong = x2[i].soluong; ct2.giadv = x2[i].Gia; ctdv.Add(ct2); cthdin.Add(ct1); } for (int k = x2.Count - 1; k >= x1.Count; k--) { // thiet lap de in ra Chitiethoadon ct1 = new Chitiethoadon(); ct1.sophong = null; ct1.Ngayden = null; ct1.Ngaydi = null; ct1.giaphong = null; ct1.tendv = x2[k].Tendv; ct1.soluong = x2[k].soluong; ct1.giadv = x2[k].Gia; // hien thi Chitiethoadonphong ct = new Chitiethoadonphong(); ct.sophong = null; ct.Ngayden = null; ct.Ngaydi = null; ct.giaphong = null; cthd.Add(ct); Chitiethoadondv ct2 = new Chitiethoadondv(); ct2.TenDV = x2[k].Tendv; ct2.soluong = x2[k].soluong; ct2.giadv = x2[k].Gia; ctdv.Add(ct2); cthdin.Add(ct1); } } else { for (int i = 0; i < x2.Count; i++) { // thiet lap de in ra Chitiethoadon ct1 = new Chitiethoadon(); ct1.sophong = x1[i].Sophong; ct1.Ngayden = x1[i].Ngayden; ct1.Ngaydi = x1[i].Ngaydi; ct1.giaphong = x1[i].Tien; ct1.tendv = x2[i].Tendv; ct1.soluong = x2[i].soluong; ct1.giadv = x2[i].Gia; // hien thi Chitiethoadonphong ct = new Chitiethoadonphong(); ct.sophong = x1[i].Sophong; ct.Ngayden = x1[i].Ngayden; ct.Ngaydi = x1[i].Ngaydi; ct.giaphong = x1[i].Tien; DateTime n1 = new DateTime(x1[i].Ngayden.Year, x1[i].Ngayden.Month, x1[i].Ngayden.Day); DateTime n2 = new DateTime(x1[i].Ngaydi.Year, x1[i].Ngaydi.Month, x1[i].Ngaydi.Day); if (DateTime.Compare(n1, n2) == 0) { ct.songayo = 1; ct1.songayo = 1; } else { TimeSpan time = n2 - n1; ct.songayo = time.Days; ct1.songayo = time.Days; } cthd.Add(ct); Chitiethoadondv ct2 = new Chitiethoadondv(); ct2.TenDV = x2[i].Tendv; ct2.soluong = x2[i].soluong; ct2.giadv = x2[i].Gia; ctdv.Add(ct2); cthdin.Add(ct1); } } } Program.hoadon = cthdin; txttienphong.Text = Program.giaphong.ToString() + " vnd"; txttiendv.Text = Program.giadv.ToString() + " vnd"; dataGridView1.DataSource = cthd; dataGridView2.DataSource = ctdv; dataGridView1.Columns["sophong"].HeaderText = "Số phòng"; dataGridView1.Columns["Ngayden"].HeaderText = "Ngày đến"; dataGridView1.Columns["Ngaydi"].HeaderText = "Ngày đi"; dataGridView1.Columns["giaphong"].HeaderText = "Giá phòng"; dataGridView1.Columns["songayo"].HeaderText = "Số ngày ở"; dataGridView2.Columns["Tendv"].HeaderText = "Tên dịch vụ"; dataGridView2.Columns["soluong"].HeaderText = "Số lượng"; dataGridView2.Columns["giadv"].HeaderText = "Giá dịch vụ"; }
public IActionResult InHoaDon(int id) { var dbContext = new shopContext(); var hoadon = (from hd in dbContext.Hoadon join ps in dbContext.Phiship on hd.PhiShipId equals ps.PhiShipId join kh in dbContext.Khachhang on hd.KhachHangId equals kh.KhachHangId join nv in dbContext.Nhanvien on hd.NhanVienId equals nv.NhanVienId where hd.HoaDonId == id select new{ idhd = hd.HoaDonId, TenKhachHang = kh.HoTen, quan = hd.Quan, ngaytao = hd.NgayTao, TenNguoiNhan = hd.TenNguoiNhan, soNha = hd.SoNha, sdt = hd.Sdt, phiship = ps.ChiPhi, tienkhuyenmai = hd.TienGiamGia, TongTienChuaShip = hd.TongTienChuaShip, tongcong = hd.TongTienThanhToan }).ToList(); List <Hoadon> DSHoaDon = new List <Hoadon>(); foreach (var item in hoadon) { Hoadon hd = new Hoadon(); hd.HoaDonId = item.idhd; hd.NgayTao = item.ngaytao; hd.TenNguoiNhan = item.TenNguoiNhan; hd.SoNha = item.soNha; hd.Sdt = item.sdt; hd.TienGiamGia = item.tienkhuyenmai; hd.TongTienChuaShip = item.TongTienChuaShip; hd.TongTienThanhToan = item.tongcong; hd.Quan = item.quan; Phiship ps = new Phiship(); ps.ChiPhi = item.phiship; Khachhang kh = new Khachhang(); kh.HoTen = item.TenKhachHang; hd.KhachHang = kh; hd.PhiShip = ps; DSHoaDon.Add(hd); } // ViewBag.hoadon = DSHoaDon; var chitiet = (from ct in dbContext.Chitiethoadon join hd in dbContext.Hoadon on ct.HoaDonId equals hd.HoaDonId join sp in dbContext.Sanpham on ct.SanPhamId equals sp.SanPhamId join kt in dbContext.Kichthuoc on ct.KichThuocId equals kt.KichThuocid join ha in dbContext.Hinhanh on sp.HinhAnhId equals ha.HinhAnhId join km in dbContext.Khuyenmai on sp.KhuyenMaiId equals km.KhuyenMaiId into x from subnv in x.DefaultIfEmpty() where hd.HoaDonId == id select new{ tensp = sp.TenSanPham, hinhanh = ha.TenFile, gia = ct.TongTien, soluong = ct.SoLuong, giam = subnv.PhanTramGiam * sp.GiaBanLe, tamtinh = ct.TongSauKm, tenKichThuoc = kt.TenKichThuoc }).ToList(); List <Chitiethoadon> DSChiTiet = new List <Chitiethoadon>(); foreach (var item in chitiet) { Sanpham sp = new Sanpham(); Chitiethoadon ct = new Chitiethoadon(); Hinhanh ha = new Hinhanh(); Kichthuoc kt = new Kichthuoc(); sp.TenSanPham = item.tensp; ha.TenFile = item.hinhanh; ct.TongTien = item.gia; ct.SoLuong = item.soluong; ct.TienKhuyenMai = item.giam; ct.TongSauKm = item.tamtinh; kt.TenKichThuoc = item.tenKichThuoc; sp.HinhAnh = ha; ct.SanPham = sp; ct.KichThuoc = kt; DSChiTiet.Add(ct); } var hoadon_cthd = new Tuple <List <Hoadon>, List <Chitiethoadon> >(DSHoaDon, DSChiTiet); return(new ViewAsPdf(hoadon_cthd)); }