Пример #1
0
        private void btnLuu_Click(object sender, EventArgs e)
        {
            if (dgvChiTietHD.RowCount <= 0)
            {
                MessageBox.Show("Không có dữ liệu để lưu!!!", "Thông báo");
            }
            else
            {

              _KHBLL=new KhachHangBLL();
              _HDBLL=new HoaDonBLL();
              // MessageBox.Show("Kdasdas    " + _KHBLL.KiemTraKhachHang(cbMaKH.Text.Trim()));
                //nếu khách hàng không tồn tại thì thêm khách hàng
                if (_KHBLL.KiemTraKhachHang(cbMaKH.Text.Trim()) == false)
                {
                    KhachHang kh = new KhachHang();
                    kh.MaKH = cbMaKH.Text.Trim();
                    kh.TenKH = txtTenKH.Text.Trim();
                    kh.SoDTKH = txtSoDTKH.Text.Trim();
                    kh.DiaChiKH = txtDiaChiKH.Text.Trim();
                    _KHBLL.ThemKhachHang(kh);
                    //MessageBox.Show("Thêm khách hàng thành công","Thông báo");
                    HienThiCBMaKH();

                }

                HoaDon hd = new HoaDon();
                kiemtra = 0;
                hd.MaHD = txtMaHD.Text.Trim();
                hd.LoaiHD = "HDB";
                double TongTien = 0;
                for (int j = 0; j < i; j++)
                {
                  TongTien+= Convert.ToDouble( dgvChiTietHD.Rows[j].Cells["ThanhTien"].Value.ToString().Trim());
                }
                hd.TongTien = TongTien +Convert.ToInt64( txtCuocPhiVC.Text.ToString().Trim());
                hd.NgayLapPhieu = DateTime.Now.ToString("dd-MM-yyyy hh:mm");
                _HDBLL.ThemHoaDonBan(hd);

                _CTHDBBLL = new ChiTietHDBanBLL();
                 //thêm chi tiết hóa đơn vào cơ sở dữ liệu

               // List< ChiTietHDBan> lstcthdban=new List<ChiTietHDBan>();
                ChiTietHDBan cthdban;
                _CTHDNBLL = new ChiTietHDNhapBLL();
                    for (int j = 0; j < i; j++)
                    {

                        cthdban = new ChiTietHDBan();
                        cthdban.STT = _CTHDBBLL.DemChiTietHDB();
                        cthdban.MaHD = txtMaHD.Text.Trim();
                      //  MessageBox.Show("ffffff " + j);

                        cthdban.MaNV = txtMaNV.Text.Trim();
                        cthdban.MaKH = cbMaKH.Text.Trim();
                        cthdban.MaSP = dgvChiTietHD.Rows[j].Cells["MaSP"].Value.ToString().Trim();

                        cthdban.SoLuongBan =Convert.ToInt32(dgvChiTietHD.Rows[j].Cells["SoLuongBan"].Value.ToString().Trim());
                       // cthdban.SoLuongBan =Convert.ToString( dgvChiTietHD.Rows[j].Cells["SoLuongBan"].Value.ToString().Trim());
                        cthdban.CuocPhiVanChuyen = Convert.ToInt64(dgvChiTietHD.Rows[j].Cells["CuocPhiVanChuyen"].Value.ToString().Trim());
                        //cthdban.MaKH = dgvChiTietHD.Rows[j].Cells["MaKH"].Value.ToString().Trim();

                        cthdban.ThanhTien = Convert.ToInt64(dgvChiTietHD.Rows[j].Cells["ThanhTien"].Value.ToString().Trim());
                        //lstcthdban.Add(cthdban);
                        //TongTienHDB +=Convert.ToDouble( cthdban.ThanhTien);
                        if (cthdban.SoLuongBan <= _CTHDNBLL.LaySoLuongTonKho(cthdban.MaSP))
                        {
                            _CTHDBBLL.ThemSanPhamHoaDonBan(cthdban);
                            _CTHDNBLL.CapNhapTonKho(cthdban.MaSP, cthdban.SoLuongBan);
                        }
                        else
                        {
                            MessageBox.Show(cthdban.MaSP.ToString() + " Số lượng không đủ","Thông báo");
                            kiemtra++;
                        }

                     }
                   // _CTHDBBLL.ThemSanPhamHoaDonBan(lstcthdban);

                    //MessageBox.Show("Tong tien HD "+txtMaHD.ToString()+"= "+TongTienHDB);

                    if(kiemtra == 0)
                        MessageBox.Show("Lưu thành công", "Thông báo");
                    LayMaHoaDonHienTai();
                    grThonTinKhachHang.Enabled = true;
                    dgvChiTietHD.Rows.Clear();
                    i = 0;
                    lbTongTien.Text = "Tổng Tiền: ";
                    HienThiDGVSanPhamBan();
            }
        }
Пример #2
0
        private void btnThem_Click(object sender, EventArgs e)
        {
            if (txtMaSP.Text == "" || txtTenSP.Text == "" || txtDonViTinh.Text == "" || txtDonGia.Text == "" || txtSoLuong.Text == "" || txtCuocPhiVC.Text == "")
            {
                MessageBox.Show("Vui lòng nhập đủ thông tin chi tiết hóa đơn!!!", "Thông báo");
            }
            else
            {
                if (cbMaKH.Text == "" || txtTenKH.Text == "")
                {
                    MessageBox.Show("Vui lòng nhập đủ thông tin chi tiết khách hàng!!!", "Thông báo");
                }
                else if (KiemTraSDT(txtSoDTKH.Text.ToString().Trim())==false)
                    MessageBox.Show("Số điện thoại không đúng định dạng. vui lòng nhập lại.", "Thông báo");
                else if (KiemTraSL(txtSoLuong.Text.ToString().Trim()))
                    MessageBox.Show("Số lượng phải lớn hơn 0");
                else
                {
                    for (int a = 0; a < dgvSanPham.SelectedRows.Count; a++)
                    {
                        grThonTinKhachHang.Enabled = false;

                        _CTHDBBLL = new ChiTietHDBanBLL();

                        // MessageBox.Show("Dong hien tại la: " + dr.Index);
                        // DataGridViewRow dr= dgvChiTietHD.SelectedRows[0];

                        // MessageBox.Show( "Dong hien tai la: "+dr.Index);

                        if (dgvChiTietHD.RowCount == 0)
                        {
                            //thêm xuống dgvChiTietHD
                            // dgvChiTietHD.Columns["MaSP"].HeaderCell=txtMaSP.Text.Trim();
                            dgvChiTietHD.Rows.Add(++i, dgvSanPham.SelectedRows[a].Cells["MaSP"].Value.ToString().Trim(), dgvSanPham.SelectedRows[a].Cells["TenSP"].Value.ToString().Trim(), Convert.ToInt32(txtSoLuong.Text), dgvSanPham.SelectedRows[a].Cells["DonGiaBan"].Value.ToString().Trim(), dgvSanPham.SelectedRows[a].Cells["DonViTinh"].Value.ToString().Trim(), dgvSanPham.SelectedRows[a].Cells["DacTa"].Value.ToString().Trim(), (Convert.ToInt32(txtSoLuong.Text) * Convert.ToInt64(dgvSanPham.SelectedRows[a].Cells["DonGiaban"].Value.ToString().Trim())), Convert.ToInt64(txtCuocPhiVC.Text), cbMaKH.Text);
                            tongtien = tongtien + (Convert.ToInt32(txtSoLuong.Text) * Convert.ToInt64(txtDonGia.Text));

                            // dgvChiTietHD.Rows.Add(++i, txtMaSP.Text, txtTenSP.Text, Convert.ToInt32(txtSoLuong.Text), txtDonGia.Text, txtDonViTinh.Text, txtDacTa.Text, (Convert.ToInt32(txtSoLuong.Text) * Convert.ToInt64(txtDonGia.Text)).ToString(), txtCuocPhiVC.Text, cbMaKH.Text);
                        }
                        else
                        {

                            //đã có ít nhất 1 dòng
                            kiemtra = 0;

                            for (int j = 0; j < i; j++)
                            {

                                if (dgvSanPham.SelectedRows[a].Cells["MaSP"].Value.ToString().Trim() == dgvChiTietHD.Rows[j].Cells["MaSP"].Value.ToString().Trim())
                                {
                                    int soluong = (Convert.ToInt32(dgvChiTietHD.Rows[j].Cells["SoLuongBan"].Value)) + Convert.ToInt32(txtSoLuong.Text.ToString().Trim());
                                    dgvChiTietHD.Rows[j].Cells["SoLuongBan"].Value = soluong.ToString();
                                    double thanhtien = Convert.ToInt32(dgvChiTietHD.Rows[j].Cells["SoLuongBan"].Value.ToString().Trim()) * (Convert.ToInt64(dgvChiTietHD.Rows[j].Cells["DonGiaBan"].Value.ToString().Trim()));
                                    //MessageBox.Show("" + soluong + thanhtien);

                                    dgvChiTietHD.Rows[j].Cells["ThanhTien"].Value = thanhtien.ToString();
                                    tongtien = tongtien + (Convert.ToInt32(txtSoLuong.Text) * Convert.ToInt64(txtDonGia.Text)); lbTongTien.Text = "Tổng tiền: " + (tongtien + Convert.ToInt64(txtCuocPhiVC.Text.ToString().Trim())).ToString() + " vnđ";
                                    lbTongTien.Text = "Tổng tiền: " + (tongtien + Convert.ToInt64(txtCuocPhiVC.Text.ToString().Trim())).ToString() + " vnđ";
                                    // capnhatDGVSP(Convert.ToInt32(txtSoLuong.Text));
                                    kiemtra = 1;
                                    //MessageBox.Show("" + kiemtra);
                                }
                            }
                            // MessageBox.Show("" + kiemtra);
                            if (kiemtra == 0)
                            {
                                dgvChiTietHD.Rows.Add(++i, dgvSanPham.SelectedRows[a].Cells["MaSP"].Value.ToString().Trim(), dgvSanPham.SelectedRows[a].Cells["TenSP"].Value.ToString().Trim(), Convert.ToInt32(txtSoLuong.Text), dgvSanPham.SelectedRows[a].Cells["DonGiaBan"].Value.ToString().Trim(), dgvSanPham.SelectedRows[a].Cells["DonViTinh"].Value.ToString().Trim(), dgvSanPham.SelectedRows[a].Cells["DacTa"].Value.ToString().Trim(), (Convert.ToInt32(txtSoLuong.Text) * Convert.ToInt64(dgvSanPham.SelectedRows[a].Cells["DonGiaban"].Value.ToString().Trim())), Convert.ToInt64(txtCuocPhiVC.Text), cbMaKH.Text);
                                tongtien = tongtien + (Convert.ToInt32(txtSoLuong.Text) * Convert.ToInt64(txtDonGia.Text));
                            }

                            //capnhatDGVSP(Convert.ToInt32(txtSoLuong.Text));

                        }
                        lbTongTien.Text = "Tổng tiền: " + (tongtien + Convert.ToInt64(txtCuocPhiVC.Text.ToString().Trim())).ToString() + " vnđ";

                    }
                }
            }
        }