예제 #1
0
        private void LapHoaDonBanHang_button_Click_1(object sender, EventArgs e)
        {
            HoaDonBanHangBUS HD_bus = new HoaDonBanHangBUS();
            ChiTietHoaDonBUS CT_bus = new ChiTietHoaDonBUS();
            KhachHangBUS     KH_bus = new KhachHangBUS();

            // Đọc dữ liệu từ text box lên
            int MaHD = Int32.Parse(MaHoaDonBan_textbox.Text);
            //DateTime NgayLap = DateTime.Parse(NgayLapHDBan_textBox.Text);
            DateTime NgayGiao = NgayGiaoHang_dateTimePicker4.Value;

            string HoTen  = HoTen_textBox.Text;
            string DiaChi = DiaChiKhach_textBox.Text;
            string Email  = EmailKhachHang_textBox.Text;

            int MaNV     = Int32.Parse(MaNVLapHDBan_textBox.Text);
            int MaNVGiao = Int32.Parse(MaNVGiaoHangHDBan_comboBox.Text);
            int TongTien = Int32.Parse(TongTienLap_textbox.Text);

            //KH_bus.KiemTraThongTinKH(HoTen, DiaChi, Email) == true
            // xử lí thông tin
            if (HD_bus.KiemTraNgayGiaoHang(NgayGiao) == true && KH_bus.KiemTraThongTinKH(HoTen, DiaChi, Email) == true) // kiểm tra tính đúng đắn thông tin của khách hàng và ngày giao
            {
                int MaKH = KH_bus.SearchKH(HoTen, Email);                                                               // Kiểm tra xem có khách hàng nào có thông tin như trên trong db không
                if (MaKH == 0)                                                                                          //khong có khách hàng trong database
                {
                    try
                    {
                        MaKH = KH_bus.CreateMaKH(); // tạo 1 mã Khách hàng mới
                        KhachHangDTO KH = KH_bus.KhoiTao(HoTen, Email, DiaChi);
                        KH_bus.ThemKhachHang_bus(KH);
                        MessageBox.Show("Them khach hang thanh cong!");
                    }
                    catch (Exception er)
                    {
                        MessageBox.Show("Them khach hang khong thanh cong, Loi:" + er.ToString());
                        return;
                    }
                }

                try
                {
                    // Khoi tạo hóa đơn
                    HoaDonBanHangDTO HD = HD_bus.KhoiTao(NgayGiao, MaKH, MaNV, MaNVGiao, MaHD, TongTien);
                    HD_bus.LapHoaDonBanHang(HD);

                    // Đọc lại chi tiết từ giỏ hàng
                    List <ChiTietHoaDonDTO> GioHang = CT_bus.DocChiTietTuGioHang(HD_bus.CreateMaHD() - 1);
                    foreach (ChiTietHoaDonDTO CT in GioHang)
                    {
                        //MessageBox.Show("MaHoaDon:" + CT.maHoaDon.ToString() + "MaHang: " + CT.maHang.ToString() + "SoLuong:" + CT.soLuong.ToString());
                        CT_bus.ThemChiTietDon_bus(CT);
                    }
                    MessageBox.Show("Them Hóa đơn thành công!");
                }
                catch (Exception er)
                {
                    MessageBox.Show("Thêm hóa đơn thất bại!, Loi: " + er.ToString());
                    return;
                }

                MaHoaDonBan_textbox.Text       = HD_bus.CreateMaHD().ToString();
                NgayLapHDBan_textBox.Text      = DateTime.Now.ToString();
                DiaChiKhach_textBox.Text       = "";
                EmailKhachHang_textBox.Text    = "";
                HoTen_textBox.Text             = "";
                TongTienHoaDonXoa_textBox.Text = "";
                if (ChiTietHoaDonXoaHD_dataGridView.Rows.Count != 0)
                {
                    ChiTietHDBan_dataGridView.DataSource = null;
                }
                ChiTietHDBan_dataGridView.Refresh();
            }
            else
            {
                MessageBox.Show("Thong tin khách hàng sai qui cách hoặc ngày sai qui định!");
            }
        }