private void uc_OutInvenCreate_Load(object sender, EventArgs e)
        {
            try
            {
                PhieuXuatClient client = new PhieuXuatClient();
                DataTable       dtb    = new DataTable();
                dtb.Columns.Add("MaSanPham");
                dtb.Columns.Add("SoLuongYeuCau");
                dtb.Columns.Add("SoLuongThucXuat");
                dtb.Columns.Add("DonGia");
                if (string.IsNullOrEmpty(px.MaPhieuXuat))//Insert
                {
                    txt_MaPhieuXuat.Text    = client.PhieuXuat_GetNewID(DateTime.Today.Year, DateTime.Today.Month);
                    txt_MaPhieuXuat.Enabled = false;
                    txt_TongTien.Text       = "0";
                    txt_TongTien.Enabled    = false;
                    LoadMaNhanVien();
                    LoadMaKhachHang();
                    LoadSanPham();
                    LoadHoaDon();
                    dgv_DanhSachChiTiet.DataSource = dtb;
                }
                else//Update or Detail
                {
                    txt_MaPhieuXuat.Text    = px.MaPhieuXuat;
                    txt_MaPhieuXuat.Enabled = false;
                    msk_NgayXuat.Text       = px.NgayXuat.ToString("dd/MM/yyyy");
                    txt_NhanVien.Text       = px.MaNhanVien.ToString();
                    txt_KhachHang.Text      = px.MaKhachHang.ToString();
                    txt_DiaChi.Text         = px.DiaChiGiaoHang;
                    txt_HoaDon.Text         = px.MaHoaDon;
                    txt_TongTien.Text       = px.TongTien.ToString("#,##");
                    txt_TongTien.Enabled    = false;
                    txt_DonGia.Enabled      = false;
                    foreach (PhieuXuatCT ct in px.DSChiTiet)
                    {
                        DataRow row = dtb.NewRow();
                        row["MaSanPham"]       = ct.MaSanPham;
                        row["SoLuongYeuCau"]   = ct.SoLuongYeuCau;
                        row["SoLuongThucXuat"] = ct.SoLuongThuc;
                        row["DonGia"]          = ct.DonGia.ToString("#,##");
                        dtb.Rows.Add(row);
                    }
                    dgv_DanhSachChiTiet.DataSource = dtb;
                    if (IsInsertOrUpdate)
                    {
                        msk_NgayXuat.Enabled = false;
                        txt_NhanVien.Enabled = false;
                        btn_Add.Visible      = false;
                        btn_Luu.Visible      = false;

                        txt_MaSanPham.Enabled  = false;
                        txt_TenSanPham.Enabled = false;
                        txt_SoLuongYC.Enabled  = false;
                        txt_SoLuongTX.Enabled  = false;
                        txt_KhachHang.Enabled  = false;
                        txt_DiaChi.Enabled     = false;
                        dgv_DanhSachChiTiet.Columns["Delete"].Visible = false;
                    }
                    LoadMaNhanVien();
                    LoadMaKhachHang();
                    LoadSanPham();
                    LoadHoaDon();
                    FormatGrid();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
 //Load thông tin thống kê
 private void LoadTotalReport()
 {
     try
     {
         #region Thống kê phiếu nhập
         PhieuNhapClient phieunhap_client = new PhieuNhapClient();
         PhieuNhap       pn = new PhieuNhap();
         pn.NgayNhap = DateTime.Today;
         DataTable dt = phieunhap_client.PhieuNhap_GetPhieuNhap(pn, "").Tables[0];
         lb_PhieuNhap1_SoPhieu_value.Text = dt.Rows.Count.ToString();
         decimal Tongtiennhap = 0;
         if (dt.Rows.Count > 0)
         {
             foreach (DataRow row in dt.Rows)
             {
                 Tongtiennhap += Convert.ToDecimal(row["TongTien"]);
             }
         }
         if (Tongtiennhap != 0)
         {
             lb_PhieuNhap1_Tien_value.Text = Tongtiennhap.ToString("#,##");
         }
         else
         {
             lb_PhieuNhap1_Tien_value.Text = "0";
         }
         pn = new PhieuNhap();
         dt = phieunhap_client.PhieuNhap_GetPhieuNhap(pn, " and Year(pns.NgayNhap) = " + DateTime.Today.Year + " and Month(pns.NgayNhap) = " + DateTime.Today.Month).Tables[0];
         lb_PhieuNhap2_SoPhieu_value.Text = dt.Rows.Count.ToString();
         Tongtiennhap = 0;
         if (dt.Rows.Count > 0)
         {
             foreach (DataRow row in dt.Rows)
             {
                 Tongtiennhap += Convert.ToDecimal(row["TongTien"]);
             }
         }
         if (Tongtiennhap != 0)
         {
             lb_PhieuNhap2_Tien_value.Text = Tongtiennhap.ToString("#,##");
         }
         else
         {
             lb_PhieuNhap2_Tien_value.Text = "0";
         }
         #endregion
         #region Thống kê phiếu xuất
         PhieuXuatClient phieuxuat_client = new PhieuXuatClient();
         PhieuXuat       px = new PhieuXuat();
         px.NgayXuat = DateTime.Today;
         dt          = phieuxuat_client.PhieuXuat_GetPhieuXuat(px, "").Tables[0];
         lb_PhieuXuat1_SoPhieu_value.Text = dt.Rows.Count.ToString();
         decimal Tongtienxuat = 0;
         if (dt.Rows.Count > 0)
         {
             foreach (DataRow row in dt.Rows)
             {
                 Tongtienxuat += Convert.ToDecimal(row["TongTien"]);
             }
         }
         if (Tongtienxuat != 0)
         {
             lb_PhieuXuat1_Tien_value.Text = Tongtienxuat.ToString("#,##");
         }
         else
         {
             lb_PhieuXuat1_Tien_value.Text = "0";
         }
         px = new PhieuXuat();
         dt = phieuxuat_client.PhieuXuat_GetPhieuXuat(px, " and Year(pxs.NgayXuat) = " + DateTime.Today.Year + " and Month(pxs.NgayXuat) = " + DateTime.Today.Month).Tables[0];
         lb_PhieuXuat2_SoPhieu_value.Text = dt.Rows.Count.ToString();
         Tongtienxuat = 0;
         if (dt.Rows.Count > 0)
         {
             foreach (DataRow row in dt.Rows)
             {
                 Tongtienxuat += Convert.ToDecimal(row["TongTien"]);
             }
         }
         if (Tongtienxuat != 0)
         {
             lb_PhieuXuat2_Tien_value.Text = Tongtienxuat.ToString("#,##");
         }
         else
         {
             lb_PhieuXuat2_Tien_value.Text = "0";
         }
         #endregion
         #region Thống kê hoá đơn - ghi nợ
         HoaDonClient hoadon_client = new HoaDonClient();
         HoaDon       hd            = new HoaDon();
         hd.NgayXuat = DateTime.Today;
         dt          = hoadon_client.HoaDon_GetHoaDon(hd, "").Tables[0];
         lb_HoaDon1_SoHD_value.Text = dt.Rows.Count.ToString();
         Tongtienxuat = 0;
         decimal Tongtienno = 0;
         if (dt.Rows.Count > 0)
         {
             foreach (DataRow row in dt.Rows)
             {
                 Tongtienxuat += Convert.ToDecimal(row["TongTien"]);
                 Tongtienno   += Convert.ToDecimal(row["ConLai"]);
             }
         }
         if (Tongtienxuat != 0)
         {
             lb_HoaDon1_DoanhThu_value.Text = Tongtienxuat.ToString("#,##");
         }
         else
         {
             lb_HoaDon1_DoanhThu_value.Text = "0";
         }
         if (Tongtienno != 0)
         {
             lb_SoNo_value.Text = Tongtienno.ToString("#,##");
         }
         else
         {
             lb_SoNo_value.Text = "0";
         }
         hd = new HoaDon();
         dt = hoadon_client.HoaDon_GetHoaDon(hd, " and Year(NgayXuat) = " + DateTime.Today.Year + " and Month(NgayXuat) = " + DateTime.Today.Month).Tables[0];
         lb_HoaDon2_SoHD_value.Text = dt.Rows.Count.ToString();
         Tongtienxuat = 0;
         Tongtienno   = 0;
         if (dt.Rows.Count > 0)
         {
             foreach (DataRow row in dt.Rows)
             {
                 Tongtienxuat += Convert.ToDecimal(row["TongTien"]);
                 Tongtienno   += Convert.ToDecimal(row["ConLai"]);
             }
         }
         if (Tongtienxuat != 0)
         {
             lb_HoaDon2_DoanhThu_value.Text = Tongtienxuat.ToString("#,##");
         }
         else
         {
             lb_HoaDon2_DoanhThu_value.Text = "0";
         }
         if (Tongtienno != 0)
         {
             lb_SoNo_Thang_value.Text = Tongtienno.ToString("#,##");
         }
         else
         {
             lb_SoNo_Thang_value.Text = "0";
         }
         #endregion
         #region Thống kê khách hàng
         KhachHangClient khachhang_client = new KhachHangClient();
         KhachHang       kh = new KhachHang();
         //Đếm tổng số khách hàng
         dt = khachhang_client.KhachHang_GetKhachHang(kh, "").Tables[0];
         lb_KhachHang_Tong_value.Text = dt.Rows.Count.ToString();
         //Đếm số khách hàng còn nợ
         dt = khachhang_client.KhachHang_GetKhachHang(kh, " and SoNo > 0").Tables[0];
         lb_KhachHang_ConNo_value.Text = dt.Rows.Count.ToString();
         #endregion
         #region Thống kê nhân viên
         NhanVienClient nhanvien_client = new NhanVienClient();
         //Đếm số nv nam
         NhanVien nv = new NhanVien();
         nv.GioiTinh = "Nam";
         dt          = nhanvien_client.NhanVien_GetNhanVien(nv, "").Tables[0];
         lb_NhanVien_Nam_value.Text = dt.Rows.Count.ToString();
         //Đếm số nv nữ
         nv          = new NhanVien();
         nv.GioiTinh = "Nu";
         dt          = nhanvien_client.NhanVien_GetNhanVien(nv, "").Tables[0];
         lb_NhanVien_Nu_value.Text = dt.Rows.Count.ToString();
         #endregion
         #region Thống kê phiếu thu - thanh toán nợ
         PhieuThuClient phieuthu_client = new PhieuThuClient();
         PhieuThu       pt = new PhieuThu();
         pt.NgayThu = DateTime.Today;
         dt         = phieuthu_client.PhieuThu_GetPhieuThu(pt, "").Tables[0];
         decimal TongTienThu = 0;
         if (dt.Rows.Count > 0)
         {
             foreach (DataRow row in dt.Rows)
             {
                 TongTienThu += Convert.ToDecimal(row["SoTienThu"]);
             }
         }
         if (TongTienThu != 0)
         {
             lb_TienThu_value.Text = TongTienThu.ToString("#,##");
         }
         else
         {
             lb_TienThu_value.Text = "0";
         }
         pt          = new PhieuThu();
         dt          = phieuthu_client.PhieuThu_GetPhieuThu(pt, " and Year(NgayThu) = " + DateTime.Today.Year + " and Month(NgayThu) = " + DateTime.Today.Month).Tables[0];
         TongTienThu = 0;
         if (dt.Rows.Count > 0)
         {
             foreach (DataRow row in dt.Rows)
             {
                 TongTienThu += Convert.ToDecimal(row["SoTienThu"]);
             }
         }
         if (TongTienThu != 0)
         {
             lb_TienThu_Thang_value.Text = TongTienThu.ToString("#,##");
         }
         else
         {
             lb_TienThu_Thang_value.Text = "0";
         }
         #endregion
         #region Thống kê sản phẩm
         SanPhamClient sanpham_client = new SanPhamClient();
         SanPham       sp             = new SanPham();
         SanPham[]     dssp           = sanpham_client.SanPham_GetSanPham(sp, "");
         lb_MaSanPham_value.Text = dssp.Length.ToString();
         decimal tongsotonkho = 0;
         if (dssp.Length > 0)
         {
             foreach (SanPham sanpham in dssp)
             {
                 tongsotonkho += Convert.ToDecimal(sanpham.LuongTon);
             }
         }
         lb_TongTon_value.Text = tongsotonkho.ToString();
         dssp = sanpham_client.SanPham_GetSanPham(sp, " and SoLuongTon > 0");
         lb_ConHang_value.Text = dssp.Length.ToString();
         dssp = sanpham_client.SanPham_GetSanPham(sp, " and SoLuongTon = 0");
         lb_HetHang_value.Text = dssp.Length.ToString();
         #endregion
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message, "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }
 //Nút lưu
 private void btn_Luu_Click(object sender, EventArgs e)
 {
     try
     {
         PhieuXuatClient client = new PhieuXuatClient();
         PhieuXuat       px     = new PhieuXuat();
         px.MaPhieuXuat    = txt_MaPhieuXuat.Text;
         px.NgayXuat       = Convert.ToDateTime(msk_NgayXuat.Text);
         px.MaNhanVien     = txt_NhanVien.Text;
         px.MaKhachHang    = txt_KhachHang.Text;
         px.TongTien       = Convert.ToDecimal(txt_TongTien.Text);
         px.DiaChiGiaoHang = txt_DiaChi.Text;
         px.MaHoaDon       = txt_HoaDon.Text;
         List <PhieuXuatCT> dsct = new List <PhieuXuatCT>();
         foreach (DataGridViewRow row in dgv_DanhSachChiTiet.Rows)
         {
             PhieuXuatCT ct = new PhieuXuatCT();
             ct.MaPhieuXuat   = txt_MaPhieuXuat.Text;
             ct.MaSanPham     = row.Cells["MaSanPham"].Value.ToString();
             ct.SoLuongYeuCau = Convert.ToInt32(row.Cells["SoLuongYeuCau"].Value);
             ct.SoLuongThuc   = Convert.ToInt32(row.Cells["SoLuongThucXuat"].Value);
             ct.DonGia        = Convert.ToDecimal(row.Cells["DonGia"].Value);
             dsct.Add(ct);
         }
         px.DSChiTiet = dsct.ToArray();
         if (IsInsertOrUpdate && !Checknull())
         {
             if (client.PhieuXuat_Insert(px))
             {
                 MessageBox.Show("Thêm phiếu xuất thành công");
                 DataTable dtb = new DataTable();
                 dtb.Columns.Add("MaSanPham");
                 dtb.Columns.Add("SoLuongYeuCau");
                 dtb.Columns.Add("SoLuongThucXuat");
                 dtb.Columns.Add("DonGia");
                 txt_MaPhieuXuat.Text    = client.PhieuXuat_GetNewID(DateTime.Today.Year, DateTime.Today.Month);
                 txt_MaPhieuXuat.Enabled = false;
                 txt_NhanVien.Text       = "";
                 txt_KhachHang.Text      = "";
                 msk_NgayXuat.Text       = "";
                 txt_TongTien.Text       = "0";
                 txt_TongTien.Enabled    = false;
                 txt_DiaChi.Text         = "";
                 txt_HoaDon.Text         = "";
                 txt_MaSanPham.Text      = "";
                 txt_TenSanPham.Text     = "";
                 txt_SoLuongYC.Text      = "";
                 txt_SoLuongTX.Text      = "";
                 txt_DonGia.Text         = "";
                 LoadMaNhanVien();
                 LoadMaKhachHang();
                 LoadSanPham();
                 LoadHoaDon();
                 dgv_DanhSachChiTiet.DataSource = dtb;
             }
             else
             {
                 MessageBox.Show("Thêm phiếu xuất thất bại");
             }
         }
         else if (!IsInsertOrUpdate && !Checknull())
         {
             if (client.PhieuXuat_Update(px))
             {
                 MessageBox.Show("Cập nhật phiếu xuất thành công");
             }
             else
             {
                 MessageBox.Show("Cập nhật phiếu xuất thất bại");
             }
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message);
     }
 }