private void selectItemBill(object sender, MouseButtonEventArgs e) { if (ListViewBills.SelectedItems.Count > 0) { PhieuThuTienSachDTO item = (PhieuThuTienSachDTO)ListViewBills.SelectedItems[0]; DetailBill.Visibility = Visibility.Visible; ListViewProductsBought.ItemsSource = ChiTietHoaDonBanSachBUS.loadByMaHoaDon(item.HoaDonBanSach.MaHoaDon.ToString()); Label_SummaryPriceOfBill.Content = item.HoaDonBanSach.TongTien; Label_PaidPriceOfBill.Content = item.SoTienThu; } }
public ManageBillPage() { /* var bills = new List<PhieuThuTienDTO>(); * bills.Add(new PhieuThuTienDTO(1, 899, 2, "06/03/2019", 0, "Patterns of Enterprise Application Architecture","Leo Nguyen",889)); * bills.Add(new PhieuThuTienDTO(2, 999, 3, "06/02/2019", 4, "The Clean Coder", "aaG oaahT", 999)); * bills.Add(new PhieuThuTienDTO(3, 1409, 1, "06/02/2019", 3, "Patterns of Enterprise Application Architecture","Le Sang", 1410)); * bills.Add(new PhieuThuTienDTO(4, 234, 2, "06/02/2019", 4, "Implementing Domain-Driven Design", "Leo Nguyen", 234)); * bills.Add(new PhieuThuTienDTO(5, 888, 4, "06/01/2019", 0, "Patterns of Enterprise Application Architecture","Nguyen Thi Thu Quyen", 888)); * bills.Add(new PhieuThuTienDTO(6, 456, 5, "06/01/2019", 7, "Implementing Domain-Driven Design", "Mr Phong Truong Ho Phong", 456)); * bills.Add(new PhieuThuTienDTO(7, 123, 6, "05/29/2019", 4, "Patterns of Enterprise Application Architecture","Dang Vinh Phat", 123)); * bills.Add(new PhieuThuTienDTO(8, 543, 7, "05/29/2019", 10, "Domain-Driven Design Reference","Nguyen Quang Phu", 543)); * bills.Add(new PhieuThuTienDTO(9, 222, 8, "05/28/2019", 4, "Domain-Driven Design Reference", "Nguyen Van Phuoc", 222)); * bills.Add(new PhieuThuTienDTO(10, 100.9, 9, "05/27/2019", 3, "Patterns of Enterprise Application Architecture","Le Tuong Qui", 101)); * bills.Add(new PhieuThuTienDTO(11, 222, 11, "05/26/2019", 0, "Patterns of Enterprise Application Architecture","Chau Hoang Phuc", 222.5)); * bills.Add(new PhieuThuTienDTO(12, 654, 13, "05/26/2019", 4, "Patterns of Enterprise Application Architecture","Truong Quang", 654)); * bills.Add(new PhieuThuTienDTO(13, 1234, 16, "05/25/2019", 2, "Patterns of Enterprise Application Architecture","Huynh Lam Phu Si", 1234)); * bills.Add(new PhieuThuTienDTO(14, 123.23, 23, "05/20/2019", 4, "Building Microservices", "Phan Quoc Phong", 123.23)); * bills.Add(new PhieuThuTienDTO(15, 1090.8, 25, "05/20/2019", 6, "Building Microservices", "Pham Ngoc Son", 1090.8));*/ var listPhieuThuTienSach = PhieuThuTienSachBUS.loadAll(); listPhieuThuTienSach.ForEach(i => { int count = ChiTietHoaDonBanSachBUS.countByMaHoaDon(i.HoaDonBanSach.MaHoaDon.ToString()); i.SoLuongSachKhac = count - 1; i.TenSachDaiDien = SachBUS.loadByID(ChiTietHoaDonBanSachBUS.loadOneDetail(i.HoaDonBanSach.MaHoaDon.ToString()).Sach.MaSach.ToString()).TenSach; }); Global.Bills = listPhieuThuTienSach; var booksBoughtBillPreview = new List <ChiTietHoaDonBanSachDTO>(); /*booksBoughtBillPreview.Add(new ChiTietHoaDonBanSachDTO(1, 1, "Python Crash Course, 2nd Edition", "Eric Matthes", 3, 161.65, "products/1.jpg")); * booksBoughtBillPreview.Add(new ChiTietHoaDonBanSachDTO(2, 2, "Patterns of Enterprise Application Architecture", "Martin Fowler", 1, 80.62, "products/7.jpg")); * booksBoughtBillPreview.Add(new ChiTietHoaDonBanSachDTO(3, 3, "The Clean Coder", "Robert C. Martin", 2, 59.85, "products/3.jpg")); * booksBoughtBillPreview.Add(new ChiTietHoaDonBanSachDTO(4, 4, "Refactoring", "Martin Fowler", 4, 59.85, "products/4.jpg")); * booksBoughtBillPreview.Add(new ChiTietHoaDonBanSachDTO(5, 5, "Clean Architecture", "Robert C. Martin", 6, 54.11, "products/5.jpg")); * booksBoughtBillPreview.Add(new ChiTietHoaDonBanSachDTO(6, 6, "Building Microservices", "Sam Newman", 7, 48.69, "products/6.jpg"));*/ Global.BookBoughtBillsPreview = booksBoughtBillPreview; InitializeComponent(); }
private void Btn_PlaceOrder_Click(object sender, RoutedEventArgs e) { if (khachHangMuaHang == null) { KhachHangDTO khachHang = new KhachHangDTO(); khachHang.HoTen = TextBox_FullNameCustomer.Text; khachHang.Email = TextBox_EmailCustomer.Text; khachHang.DiaChi = TextBox_AddressCustomer.Text; khachHang.Sdt = TextBox_PhoneNumberCustomer.Text; khachHang.TienNo = 0; KhachHangBUS.addCustomer(khachHang); khachHangMuaHang = new KhachHangDTO(KhachHangBUS.getLastedID(), khachHang.HoTen, khachHang.DiaChi, khachHang.Email, khachHang.Sdt, khachHang.TienNo); LogKhachHangDTO logKhachHang = new LogKhachHangDTO(); logKhachHang.MaKH = khachHangMuaHang.MaKH; logKhachHang.ThoiGian = datePickerNgayMua.ToString(); logKhachHang.TienNo = 0; LogKhachHangBUS.insertToLog(logKhachHang); } listChiTietHoaDon.ForEach(i => { if (SachBUS.CheckUpdateSoLuong(i.Sach.MaSach.ToString(), i.SoLuong.ToString()) == false) { MessageBox.Show("Lượng tồn sau khi bán của sách " + i.Sach.TenSach + " không hợp lệ", "Thông báo"); return; } }); if (KhachHangBUS.checkNoToiDa(khachHangMuaHang.MaKH.ToString()) == false) { MessageBox.Show("Khách hàng " + khachHangMuaHang.HoTen + " có tiền nợ vượt mức cho phép mua hàng", "Thông báo"); return; } // Cập nhật lại số lượng sách listChiTietHoaDon.ForEach(i => { if (SachBUS.updateSoLuong(i.Sach.MaSach.ToString(), i.SoLuong.ToString()) == false) { MessageBox.Show("Có lỗi xảy ra trong quá trình cập nhật số lượng sách", "Thông báo"); return; } }); // Cập nhật hóa đơn bán sách HoaDonBanSachDTO hoaDon = new HoaDonBanSachDTO(); hoaDon.TongTien = double.Parse(Label_SummaryPriceOfBill.Content.ToString()); hoaDon.MaKH = khachHangMuaHang.MaKH; hoaDon.NgayTaoHoaDon = datePickerNgayMua.ToString(); if (HoaDonBanSachBUS.insertHoaDon(hoaDon) == false) { MessageBox.Show("Có lỗi xảy ra trong quá trình tạo hóa đơn", "Thông báo"); return; } // Cập nhật chi tiết hóa đơn bán sách hoaDon = HoaDonBanSachBUS.getLastHoaDon(); listChiTietHoaDon.ForEach(i => { i.MaHoaDon = hoaDon.MaHoaDon; if (ChiTietHoaDonBanSachBUS.insertChiTietHoaDon(i) == false) { MessageBox.Show("Có lỗi xảy ra trong quá trình cập nhật chi tiết hóa đơn bán sách", "Thông báo"); return; } }); // Cập nhật tiền nợ của khách hàng double noTangThem = double.Parse(Label_SummaryPriceOfBill.Content.ToString()) - double.Parse(TextBox_PayCustomer.Text); double tienNoMoi = khachHangMuaHang.TienNo + noTangThem; if (tienNoMoi != khachHangMuaHang.TienNo) { if (KhachHangBUS.changeDebt(khachHangMuaHang.MaKH, tienNoMoi) == false) { MessageBox.Show("Cập nhật tiền nợ của khách hàng thất bại", "Thông báo"); return; } } //Tạo log sách listChiTietHoaDon.ForEach(i => { LogSachDTO logSach = new LogSachDTO(); logSach.MaSach = i.Sach.MaSach; logSach.SoLuong = i.Sach.SoLuong - i.SoLuong; logSach.ThoiGian = datePickerNgayMua.ToString(); logSach.HanhDong = "Sell a book"; if (LogSachBUS.insertToLog(logSach) == false) { MessageBox.Show("Có lỗi xảy ra trong quá trình tạo log sách", "Thông báo"); return; } }); // Tạo log khách hàng if (tienNoMoi != khachHangMuaHang.TienNo) { LogKhachHangDTO logKhachHang = new LogKhachHangDTO(); logKhachHang.MaKH = khachHangMuaHang.MaKH; logKhachHang.ThoiGian = datePickerNgayMua.ToString(); logKhachHang.TienNo = tienNoMoi; if (LogKhachHangBUS.insertToLog(logKhachHang) == false) { MessageBox.Show("Có lỗi xảy ra trong quá trình tạo log khách hàng", "Thông báo"); return; } } // Tạo phiếu thu tiền PhieuThuTienSachDTO phieuThu = new PhieuThuTienSachDTO(); phieuThu.HoaDonBanSach = hoaDon; phieuThu.SoTienThu = double.Parse(TextBox_PayCustomer.Text); if (PhieuThuTienSachBUS.insert(phieuThu) == false) { MessageBox.Show("Có lỗi xảy ra trong quá trình tạo phiếu thu tiền", "Thông báo"); return; } MessageBox.Show("Thanh toán thành công", "Thông báo"); listChiTietHoaDon.Clear(); Global.BookBoughtBills.Clear(); countProductBuy.Badge = 0; Global.Books = SachBUS.loadAll(); Global.Customers = KhachHangBUS.loadAll(); }