public bool CapNhatCTKhuyenMai(KhuyenMai km, XElement xml)
        {
            try
              {
                  SqlParameter[] para = new SqlParameter[6];
                  para[0] = new SqlParameter("@p_MaKhuyenMai", km.MaKhuyenMai == null ? "" : km.MaKhuyenMai);
                  para[1] = new SqlParameter("@p_TenKhuyenMai", km.TenChuongTrinh == null ? "" : km.TenChuongTrinh);
                  para[2] = new SqlParameter("@p_ThoiGianBD", km.ThoiGianDB == null ? DateTime.Now.ToString("dd/MM/yyyy") : km.ThoiGianDB);
                  para[3] = new SqlParameter("@p_ThoiGianKT", km.ThoiGianKT == null ? DateTime.Now.ToString("dd/MM/yyyy") : km.ThoiGianKT);
                  para[4] = new SqlParameter("@p_GhiChu", km.GhiChu == null ? "" : km.GhiChu);

                  para[5] = new SqlParameter();
                  para[5].ParameterName = "@p_XML_TEMP";
                  para[5].DbType = DbType.Xml;
                  para[5].Direction = ParameterDirection.Input;
                  para[5].Value = xml.ToString();

                  int result = this.ExecuteNonQuery("CHUONGTRINH_KHUYENMAI_Upd", para);
                  if (result != 0)
                  {
                      return true;
                  }
              }
              catch (System.Exception ex)
              {
                  Console.WriteLine("Message= {1}", ex.Message);
              }

            return false;
        }
 public bool CapNhatCTKhuyenMai(KhuyenMai km, XElement xml)
 {
     try
     {
         return this.khuyenMaiDAL.CapNhatCTKhuyenMai(km, xml);
     }
     catch (System.Exception ex)
     {
         Console.WriteLine("Message= {1}", ex.Message);
     }
     return false;
 }
        private void sbTimKiemHoaDon_Click(object sender, EventArgs e)
        {
            KhuyenMai km = new KhuyenMai();
            km.MaKhuyenMai = this.teMaKhuyenMai.Text;
            km.TenChuongTrinh = this.teTenChuongTrinhKhuyenMai.Text;
            km.ThoiGianDB = this.deThoiGianBD.DateTime.ToString("dd/MM/yyyy");
            if (km.ThoiGianDB.Equals("01/01/0001"))
                km.ThoiGianDB = "";

            km.ThoiGianKT = this.dateKetThuc.DateTime.ToString("dd/MM/yyyy");
            if (km.ThoiGianKT.Equals("01/01/0001"))
                km.ThoiGianKT = "";

            this.gcKetQua.DataSource = (new KhuyenMaiBUS().TimKiemCTKhuyenMai(km));
        }
        private void ucThemKhuyenMai_Enter(object sender, EventArgs e)
        {
            if (StaticVariables.gKhuyenMai != null)
            {
                this.maKM = StaticVariables.gKhuyenMai.MaKhuyenMai;
                this.menoETenChuongTrinhKhuyenMai.Text = StaticVariables.gKhuyenMai.TenChuongTrinh;
                this.dateBatDau.Text = StaticVariables.gKhuyenMai.ThoiGianDB;
                this.dateKetThuc.Text = StaticVariables.gKhuyenMai.ThoiGianKT;
                this.txtGhiChu.Text = StaticVariables.gKhuyenMai.GhiChu;

                KhuyenMai km = new KhuyenMai();
                km.MaKhuyenMai = this.maKM;
               /// gridSanPhamKM.DataSource = (new KhuyenMaiBUS().TimKiemChiTietCTKhuyenMai(km));
            }
            else
            {
                this.maKM = "";
                this.menoETenChuongTrinhKhuyenMai.Text = "";
                this.dateBatDau.Text = "";
                this.dateKetThuc.Text = "";
                this.txtGhiChu.Text = "";

                //Xóa dữ liệu bảng hàng hóa đã chọn mua
                //DataTable dt = this.gridSanPhamKM.DataSource as DataTable;
                //dt.Clear();
                //this.gridSanPhamKM.DataSource = dt;
            }
        }
        private void sbLuu_Click(object sender, EventArgs e)
        {
            KhuyenMai km = new KhuyenMai();
            km.TenChuongTrinh = this.menoETenChuongTrinhKhuyenMai.Text;
            km.ThoiGianDB = this.dateBatDau.DateTime.ToString("dd/MM/yyyy");
            km.ThoiGianKT = this.dateKetThuc.DateTime.ToString("dd/MM/yyyy");
            km.GhiChu = this.txtGhiChu.Text;
            if (km.TenChuongTrinh.Equals(""))
            {
                MessageBox.Show("Vui lòng nhập tên chương trình khuyến mãi", "Thông báo", MessageBoxButtons.OK);
                return;
            }
            int temp = DateTime.Compare(this.dateBatDau.DateTime.Date, DateTime.Now.Date);
            // kiểm tra ngày bắt đầu và ngày kết thúc
            if (temp < 0)
            {
                MessageBox.Show("Vui lòng kiểm tra lại ngày bắt đầu \n Ngày bắt đầu không được nhỏ hơn ngày hiện tại.", "Thông báo", MessageBoxButtons.OK);
                return;
            }

            if (DateTime.Compare(this.dateBatDau.DateTime.Date, this.dateKetThuc.DateTime.Date) > 0)
            {
                MessageBox.Show("Vui lòng kiểm tra lại ngày bắt đầu và ngày kết thúc \n Ngày bắt đầu không được nhỏ hơn ngày kết thúc.", "Thông báo", MessageBoxButtons.OK);
                return;
            }

            if (km.TenChuongTrinh.Equals("") && km.ThoiGianDB.Equals("") && km.ThoiGianKT.Equals(""))
            {
                MessageBox.Show("Vui lòng kiểm tra lại dữ liệu \n Dữ liệu không được để trống.", "Thông báo", MessageBoxButtons.OK);
                return;
            }

            //kiêm tra bên girdSpMua có sp nào chưa.
            if (this.gridSpMua.RowCount == 0)
            {
                MessageBox.Show("Danh sách sản phẩm khuyến mãi không được để trống. ", "Thông báo", MessageBoxButtons.OK);
                return;
            }
            XElement xlmData;
            this.ConvertDataToXML(out xlmData);
            if (StaticVariables.gKhuyenMai == null)
            {
                if (xlmData != null)
                {
                    if (new KhuyenMaiBUS().ThemCTKhuyenMai(km, xlmData))
                    {
                        MessageBox.Show("Thêm chương trình khuyến mãi thành công", "Thông báo", MessageBoxButtons.OK);
                    }
                    else
                    {
                        MessageBox.Show("Thêm chương trình khuyến mãi thất bại", "Thông báo", MessageBoxButtons.OK);
                    }
                }
            }
            else
            {
                if (xlmData != null)
                {
                    km.MaKhuyenMai = this.maKM;
                    if (new KhuyenMaiBUS().CapNhatCTKhuyenMai(km, xlmData))
                    {
                        MessageBox.Show("Cập nhật chương trình khuyến mãi thành công", "Thông báo", MessageBoxButtons.OK);
                    }
                    else
                    {
                        MessageBox.Show("Cập nhật chương trình khuyến mãi thất bại", "Thông báo", MessageBoxButtons.OK);
                    }
                }
            }
        }
 public DataTable TimKiemCTKhuyenMai(KhuyenMai km)
 {
     try
     {
         return this.khuyenMaiDAL.TimKiemCTKhuyenMai(km);
     }
     catch (System.Exception ex)
     {
         Console.WriteLine("Message= {1}", ex.Message);
     }
     return null;
 }
 public CTKHuyenMai()
 {
     this.khuyenMai = new KhuyenMai();
        this.matHang = new MatHang();
 }
        public DataTable TimKiemCTKhuyenMai(KhuyenMai km)
        {
            try
            {
                SqlParameter[] para = new SqlParameter[6];
                para[0] = new SqlParameter("@p_MaKhuyenMai", km.MaKhuyenMai == null ? "" : km.MaKhuyenMai);
                para[1] = new SqlParameter("@p_TenKhuyenMai", km.TenChuongTrinh == null ? "" : km.TenChuongTrinh);
                para[2] = new SqlParameter("@p_ThoiGianBD", km.ThoiGianDB == null ? "01-01-0001" : km.ThoiGianDB);
                para[3] = new SqlParameter("@p_ThoiGianKT", km.ThoiGianKT == null ? "01-01-0001" : km.ThoiGianKT);
                para[4] = new SqlParameter("@p_GhiChu", km.GhiChu == null ? "" : km.GhiChu);
                para[5] = new SqlParameter("@p_TOP", 100);
                DataTable lstKhuyenMai = LoadDataTable("CHUONGTRINH_KHUYENMAI_Search", para);

                return lstKhuyenMai;
            }
            catch (System.Exception ex)
            {
                Console.WriteLine("Message= {1}", ex.Message);
            }
            return null;
        }