public static bool XoaChiTietPhieuBanHang(ChiTietPhieuBanHangDTO ctpbh)
 {
     ChiTietPhieuBanHangDAO.Delete(ctpbh);
     return true;
 }
 public static bool ThemChiTietPhieuBanHang(ChiTietPhieuBanHangDTO ctpbh)
 {
     ChiTietPhieuBanHangDAO.Insert(ctpbh);
     return true;
 }
 private void btn_LapPhieu_Click(object sender, EventArgs e)
 {
     bool ktra_lapphieubanhang = false;
     PhieuBanHangDTO pbh = new PhieuBanHangDTO();
     ChiTietPhieuBanHangDTO ctpbh = new ChiTietPhieuBanHangDTO();
     pbh.NgayBan = dateTimePicker_NgayBan.Value;
     pbh.NgayThanhToan = dateTimePicker_NgayThanhToan.Value.Date;
     pbh.TongCong = uint.Parse(txt_TongCong.Text);
     pbh.SoTienNo = uint.Parse(txt_TienNoSauKhiThanhToan.Text);
     try
     {
         pbh.MaKhachHang = uint.Parse(txt_MaKhachHang.Text);
     }
     catch
     {
         MessageBox.Show("Mã khách hàng không hợp lệ, vui lòng kiểm tra lại!!");
         return;
     }
     try
     {
         pbh.SoTienThanhToan = uint.Parse(txt_SoTienThanhToan.Text);
     }
     catch
     {
         MessageBox.Show("Số tiền thanh toán không hợp lệ, vui lòng kiểm tra lại!!");
         return;
     }
     if (PhieuBanHangBUS.ThemPhieuBanHang(pbh) == false)
         MessageBox.Show("Thêm thất bại!!");
     else
     {
         DataTable dt = PhieuBanHangDAO.GetAllPhieuBanHang();
         pbh.MaPhieuBanHang = Convert.ToUInt32(dt.Rows[dt.Rows.Count - 1]["MaPhieuBanHang"]);
         ctpbh.MaPhieuBanHang = pbh.MaPhieuBanHang;
         for (int i = 0; i < dgv_ChiTietPhieuBanHang.Rows.Count - 1; i++)
         {
             try
             {
                 ctpbh.MaSanPham = Convert.ToUInt32(dgv_ChiTietPhieuBanHang.Rows[i].Cells[1].Value);
             }
             catch
             {
                 MessageBox.Show("Mã sách trong danh sách không hợp lệ, vui lòng kiểm tra lại!");
                 return;
             }
             try
             {
                 ctpbh.SoLuongBan = Convert.ToUInt32(dgv_ChiTietPhieuBanHang.Rows[i].Cells[5].Value);
             }
             catch
             {
                 MessageBox.Show("Số lượng bán trong danh sách không hợp lệ, vui lòng kiểm tra lại!");
                 return;
             }
             try
             {
                 ctpbh.DonGiaBan = Convert.ToUInt32(dgv_ChiTietPhieuBanHang.Rows[i].Cells[6].Value);
             }
             catch
             {
                 MessageBox.Show("Đơn giá trong danh sách không hợp lệ, vui lòng kiểm tra lại!");
                 return;
             }
             ctpbh.ThanhTien = Convert.ToUInt32(dgv_ChiTietPhieuBanHang.Rows[i].Cells[7].Value);
             if (ChiTietPhieuBanHangBUS.ThemChiTietPhieuBanHang(ctpbh) == false)
             {
                 MessageBox.Show("Thêm thất bại");
             }
             else
             {
                 // Cập nhật số lượng tồn trong bảng SANPHAM
                 ktra_lapphieubanhang = true;
                 uint soluongtontruockhiban = Convert.ToUInt32(dgv_ChiTietPhieuBanHang.Rows[i].Cells[4].Value);
                 uint soluongban = Convert.ToUInt32(dgv_ChiTietPhieuBanHang.Rows[i].Cells[5].Value);
                 SanPhamDTO sp = new SanPhamDTO();
                 sp.MaSanPham = Convert.ToUInt32(dgv_ChiTietPhieuBanHang.Rows[i].Cells[1].Value);
                 sp.SoLuongTon = soluongtontruockhiban - soluongban;
                 SanPhamDAO.UpdateSoLuongTon(sp);
             }
         }
     }
     if (ktra_lapphieubanhang)
     {
         txt_MaPhieu.Text = pbh.MaPhieuBanHang.ToString();
         txt_MaKhachHang.ReadOnly = true;
         dgv_ChiTietPhieuBanHang.ReadOnly = true;
         btn_LapPhieu.Enabled = false;
         btn_XoaPhieu.Enabled = true;
         MessageBox.Show("Lập phiếu bán hàng thành công!!");
     }
 }
 private void btn_XoaPhieu_Click(object sender, EventArgs e)
 {
     DataTable dt = PhieuBanHangDAO.GetAllPhieuBanHang();
     PhieuBanHangDTO pbh = new PhieuBanHangDTO();
     pbh.MaPhieuBanHang = Convert.ToUInt32(dt.Rows[dt.Rows.Count - 1]["MaPhieuBanHang"]);
     if (PhieuBanHangBUS.XoaPhieuBanHang(pbh) == false)
         MessageBox.Show("Xóa thất bại!!");
     else
     {
         ChiTietPhieuBanHangDTO ctpbh = new ChiTietPhieuBanHangDTO();
         ctpbh.MaPhieuBanHang = pbh.MaPhieuBanHang;
         if (ChiTietPhieuBanHangBUS.XoaChiTietPhieuBanHang(ctpbh) == false)
             MessageBox.Show("Xóa thất bại!!");
         else
         {
             btn_XoaPhieu.Enabled = false;
             SanPhamDTO sp = new SanPhamDTO();
             for (int i = 0; i < dgv_ChiTietPhieuBanHang.Rows.Count - 1; i++)
             {
                 // Cập nhật số lượng tồn trong bảng SANPHAM
                 sp.MaSanPham = Convert.ToUInt32(dgv_ChiTietPhieuBanHang.Rows[i].Cells[1].Value);
                 sp.SoLuongTon = Convert.ToUInt32(dgv_ChiTietPhieuBanHang.Rows[i].Cells[4].Value);
                 SanPhamDAO.UpdateSoLuongTon(sp);
                 btn_XoaPhieu.Enabled = false;
             }
             TaoPhieuBanHangMoi();
             MessageBox.Show("Xóa phiếu bán hàng thành công!!");
         }
     }
 }
 public static void Insert(ChiTietPhieuBanHangDTO ctpbh)
 {
     string sql = "insert into CHITIETPHIEUBANHANG(MaPhieuBanHang, MaSanPham, SoLuongBan, DonGiaBan, ThanhTien) values('" + ctpbh.MaPhieuBanHang + "'," + ctpbh.MaSanPham + ",'" + ctpbh.SoLuongBan + "','" + ctpbh.DonGiaBan + "','" + ctpbh.ThanhTien + "')";
     DataBase.ExcuNonQuery(sql);
 }
 public static void Delete(ChiTietPhieuBanHangDTO ctpbh)
 {
     string sql = "delete from CHITIETPHIEUBANHANG where MaChiTietPhieuBanHang = " + ctpbh.MaChiTietPhieuBanHang + "";
     DataBase.ExcuNonQuery(sql);
 }