public static bool insertHoaDon(HoaDonBanSachDTO hoaDon) { string sCommand = string.Format(@"Insert into HOADONBANSACH(TongTien,MaKH,NgayTao) values({0},{1},'{2}')", hoaDon.TongTien, hoaDon.MaKH, hoaDon.NgayTaoHoaDon); con = DataProvider.openConnection(); bool result; try { result = DataProvider.executeNonQuery(sCommand, con); DataProvider.closeConnection(con); } catch { result = false; DataProvider.closeConnection(con); } return(result); }
public static HoaDonBanSachDTO loadByMaHoaDon(string MaHoaDon) { string sCommand = "select* from HoaDonBanSach where MaHoaDon = " + MaHoaDon; con = DataProvider.openConnection(); DataTable dt = DataProvider.getDataTable(sCommand, con); int n = dt.Rows.Count; if (n <= 0) { DataProvider.closeConnection(con); return(null); } HoaDonBanSachDTO hoaDon = new HoaDonBanSachDTO(); hoaDon.MaHoaDon = int.Parse(dt.Rows[0]["MaHoaDon"].ToString()); hoaDon.MaKH = int.Parse(dt.Rows[0]["MaKH"].ToString()); hoaDon.NgayTaoHoaDon = dt.Rows[0]["NgayTao"].ToString(); hoaDon.TongTien = double.Parse(dt.Rows[0]["TongTien"].ToString()); DataProvider.closeConnection(con); return(hoaDon); }
public static HoaDonBanSachDTO getLastHoaDon() { string sCommand = "Select top 1 * from HoaDonBanSach order by MaHoaDon desc"; con = DataProvider.openConnection(); DataTable dt = DataProvider.getDataTable(sCommand, con); int n = dt.Rows.Count; if (n <= 0) { DataProvider.closeConnection(con); return(null); } HoaDonBanSachDTO hoaDon = new HoaDonBanSachDTO(); hoaDon.MaHoaDon = int.Parse(dt.Rows[0]["MaHoaDon"].ToString()); hoaDon.MaKH = int.Parse(dt.Rows[0]["MaKH"].ToString()); hoaDon.NgayTaoHoaDon = dt.Rows[0]["NgayTao"].ToString(); hoaDon.TongTien = double.Parse(dt.Rows[0]["TongTien"].ToString()); DataProvider.closeConnection(con); return(hoaDon); }
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(); }
public static bool insertHoaDon(HoaDonBanSachDTO hoaDon) { return(HoaDonBanSachDAO.insertHoaDon(hoaDon)); }