public static List <PhieuThuTienSachDTO> loadAll()
        {
            string sCommand = "Select* from PhieuThuTienSach";

            con = DataProvider.openConnection();
            DataTable dt = DataProvider.getDataTable(sCommand, con);
            int       n  = dt.Rows.Count;

            if (n <= 0)
            {
                DataProvider.closeConnection(con);
                return(null);
            }
            List <PhieuThuTienSachDTO> result = new List <PhieuThuTienSachDTO>();

            for (int i = 0; i < n; i++)
            {
                PhieuThuTienSachDTO phieuThu = new PhieuThuTienSachDTO();
                phieuThu.MaPhieu = int.Parse(dt.Rows[i]["MaPhieu"].ToString());
                phieuThu.HoaDonBanSach.NgayTaoHoaDon = dt.Rows[i]["NgayThuTien"].ToString();
                phieuThu.SoTienThu              = double.Parse(dt.Rows[i]["SoTienThu"].ToString());
                phieuThu.HoaDonBanSach.MaKH     = int.Parse(dt.Rows[i]["MaKH"].ToString());
                phieuThu.HoaDonBanSach.MaHoaDon = int.Parse(dt.Rows[i]["MaHoaDon"].ToString());
                result.Add(phieuThu);
            }
            DataProvider.closeConnection(con);
            return(result);
        }
 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 static bool insert(PhieuThuTienSachDTO phieuThu)
        {
            string sCommand = string.Format(@"Insert into PhieuThuTienSach values('{0}',{1},{2},{3})", phieuThu.HoaDonBanSach.NgayTaoHoaDon, phieuThu.SoTienThu, phieuThu.HoaDonBanSach.MaKH, phieuThu.HoaDonBanSach.MaHoaDon);

            con = DataProvider.openConnection();
            bool result;

            try
            {
                result = DataProvider.executeNonQuery(sCommand, con);
                DataProvider.closeConnection(con);
            }
            catch
            {
                result = false;
                DataProvider.closeConnection(con);
            }
            return(result);
        }
Example #4
0
 public static bool insert(PhieuThuTienSachDTO phieuThu)
 {
     return(PhieuThuTienSachDAO.insert(phieuThu));
 }
Example #5
0
        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();
        }