private void Debt_BtnCusomer_Click(object sender, RoutedEventArgs e)
        {
            ScrollViewer_Customers.IsEnabled = true;
            Debt.Visibility = Visibility.Collapsed;
            if (!KhachHangBUS.changeDebt(int.Parse(Debt_IdCustomer.Content.ToString()), double.Parse(Debt_TextBoxCustomer.Text)))
            {
                MessageBox.Show("Giá trị nhập không hợp lệ!!", "Thông báo", MessageBoxButton.OK, MessageBoxImage.Information);
            }
            LogKhachHangDTO logKhachHang = new LogKhachHangDTO();

            logKhachHang.MaKH     = int.Parse(Debt_IdCustomer.Content.ToString());
            logKhachHang.ThoiGian = DateTime.Now.ToString();
            logKhachHang.TienNo   = double.Parse(Debt_TextBoxCustomer.Text);
            LogKhachHangBUS.insertToLog(logKhachHang);
            Global.Customers = KhachHangBUS.loadAll();
            ListViewCustomers.ItemsSource = Global.Customers;
        }
Пример #2
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();
        }