public static List <BanDatDTO> LayDanhSachBanDat()
        {
            DbCommand command = DataAccessCode.CreateCommand();

            command.CommandText = "dbo.LayDanhSachBanDat";

            DataTable        dt   = DataAccessCode.ExecuteSelectCommand(command);
            List <BanDatDTO> list = new List <BanDatDTO>();

            if (dt != null)
            {
                int maThongTinKhachHang;
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    BanDatDTO banDat = new BanDatDTO();
                    banDat.MaLichBan  = Int32.Parse(dt.Rows[i]["MaLichBan"].ToString());
                    banDat.MaBan      = Int32.Parse(dt.Rows[i]["MaBan"].ToString());
                    banDat.NgayDatBan = DateTime.Parse(dt.Rows[i]["NgayDatBan"].ToString());
                    banDat.MaBuoi     = Int32.Parse(dt.Rows[i]["MaBuoi"].ToString());
                    if (Int32.TryParse(dt.Rows[i]["MaThongTinKhachHang"].ToString(), out maThongTinKhachHang))
                    {
                        banDat.MaThongTinKhachHang = maThongTinKhachHang;
                    }
                    banDat.SoLuong      = Int32.Parse(dt.Rows[i]["SoLuong"].ToString());
                    banDat.TinhTrangBan = Boolean.Parse(dt.Rows[i]["TinhTrangBan"].ToString());

                    list.Add(banDat);
                }
            }
            return(list);
        }
        // Tranh Chấp Đồng Thời

        private void btnLostUpDate_Click(object sender, EventArgs e)
        {
            try
            {
                int      loai    = chkDatBan.Checked == true ? 1 : 0;
                int      maBuoi  = (int)((BuoiDTO)cbbBuoi.SelectedItem).MaBuoi;
                int      soLuong = Int32.Parse(txtSoLuong.Text);
                DateTime ngay    = dtNgayDatBan.Value;
                if (chkDatBan.Checked)
                {
                    if (txtCMND.Text == String.Empty)
                    {
                        MessageBox.Show("Nhập chứng minh nhân dân.");
                        return;
                    }

                    BanDatDTO banDat = new BanDatDTO()
                    {
                        HoTen        = txtHoTenKhachHang.Text,
                        Cmnd         = txtCMND.Text,
                        DienThoai    = txtSoDienThoai.Text,
                        MaBan        = Int32.Parse(txtMaBan.Text),
                        MaBuoi       = (int)((BuoiDTO)cbbBuoi.SelectedItem).MaBuoi,
                        NgayDatBan   = dtNgayDatBan.Value,
                        SoLuong      = Int32.Parse(txtSoLuong.Text),
                        TinhTrangBan = !chkDatBan.Checked
                    };
                    BanDatBUS.ThemThongTinBanDat(banDat, loai);
                }
                else
                {
                    //Cap nhat thong tin ban dat T1
                    if (chkXLMatDLCapNhat.Checked)
                    {
                        BanDatBUS.CapNhatThongTinBanDatSolvedLostUpdate(GlobalVariables.maLichBan, maBuoi, ngay, soLuong);
                    }
                    if (chkXLMatDLCapNhat.Checked)
                    {
                        // BanDatBUS.CapNhatThongTinBanDatLostUpdate(GlobalVariables.maLichBan, maBuoi, ngay, soLuong);
                    }
                    // BanDatBUS.CapNhatThongTinBanDatLostU(GlobalVariables.maLichBan, maBuoi, ngay, soLuong);
                }
                LoadDanhSachBanDat();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
        public static void ThemThongTinKhachVaBanDatPhamTom(BanDatDTO banDat, int loai)
        {
            DbCommand command = DataAccessCode.CreateCommand();

            command.CommandText = "dbo.CnThemThongTinKhachVaBanDatPhanTom";
            //// create a new parameter
            DbParameter param = command.CreateParameter();

            param.ParameterName = "@Loai";
            param.Value         = loai;
            param.DbType        = DbType.Int32;
            command.Parameters.Add(param);
            //// create a new parameter
            param = command.CreateParameter();
            param.ParameterName = "@HoTen";
            param.Value         = banDat.HoTen;
            param.DbType        = DbType.String;
            command.Parameters.Add(param);
            //// create a new parameter
            param = command.CreateParameter();
            param.ParameterName = "@CMND";
            param.Value         = banDat.Cmnd;
            param.DbType        = DbType.String;
            command.Parameters.Add(param);
            //// create a new parameter
            param = command.CreateParameter();
            param.ParameterName = "@DienThoai";
            param.Value         = banDat.DienThoai;
            param.DbType        = DbType.String;
            command.Parameters.Add(param);
            //// create a new parameter
            param = command.CreateParameter();
            param.ParameterName = "@MaBan";
            param.Value         = banDat.MaBan;
            param.DbType        = DbType.Int32;
            command.Parameters.Add(param);
            //// create a new parameter
            param = command.CreateParameter();
            param.ParameterName = "@NgayDatBan";
            param.Value         = banDat.NgayDatBan;
            param.DbType        = DbType.DateTime;
            command.Parameters.Add(param);
            //// create a new parameter
            param = command.CreateParameter();
            param.ParameterName = "@Buoi";
            param.Value         = banDat.MaBuoi;
            param.DbType        = DbType.Int32;
            command.Parameters.Add(param);
            //// create a new parameter
            param = command.CreateParameter();
            param.ParameterName = "@SoLuong";
            param.Value         = banDat.SoLuong;
            param.DbType        = DbType.Int32;
            command.Parameters.Add(param);
            //// create a new parameter
            param = command.CreateParameter();
            param.ParameterName = "@TinhTrangBan";
            param.Value         = banDat.TinhTrangBan;
            param.DbType        = DbType.Boolean;
            command.Parameters.Add(param);

            if (DataAccessCode.ExecuteNonQuery(command) != -1)
            {
                MessageBox.Show("Thêm Thành Công");
            }
        }
        public static List <BanDatDTO> TimBan(int maNhaHang, int maBan, string tenBan, DateTime ngay)
        {
            DbCommand command = DataAccessCode.CreateCommand();

            command.CommandText = "dbo.TimBan";
            // create a new parameter
            DbParameter param = command.CreateParameter();

            param.ParameterName = "@MaNhaHang";
            param.Value         = maNhaHang;
            param.DbType        = DbType.Int32;
            command.Parameters.Add(param);
            // create a new parameter
            param = command.CreateParameter();
            param.ParameterName = "@MaBan";
            if (maBan == 0)
            {
                param.Value = DBNull.Value;
            }
            else
            {
                param.Value = maBan;
            }
            param.DbType = DbType.Int32;
            command.Parameters.Add(param);
            // create a new parameter
            param = command.CreateParameter();
            param.ParameterName = "@Ngay";
            param.DbType        = DbType.DateTime;
            if (ngay == new DateTime())
            {
                param.Value = DBNull.Value;
            }
            else
            {
                param.Value = ngay;
            }
            command.Parameters.Add(param);
            // create a new parameter
            param = command.CreateParameter();
            param.ParameterName = "@TenBan";
            param.Value         = tenBan;
            param.DbType        = DbType.String;
            command.Parameters.Add(param);
            DataTable        dt   = DataAccessCode.ExecuteSelectCommand(command);
            List <BanDatDTO> list = new List <BanDatDTO>();

            if (dt != null)
            {
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    BanDatDTO banDat = new BanDatDTO();
                    banDat.MaNhaHang  = Int32.Parse(dt.Rows[i]["MaNhaHang"].ToString());
                    banDat.MaBan      = Int32.Parse(dt.Rows[i]["MaBan"].ToString());
                    banDat.HoTen      = dt.Rows[i]["HoTen"].ToString();
                    banDat.Cmnd       = dt.Rows[i]["CMND"].ToString();
                    banDat.DienThoai  = dt.Rows[i]["DienThoai"].ToString();
                    banDat.NgayDatBan = DateTime.Parse(dt.Rows[i]["NgayDatBan"].ToString());
                    banDat.MaLichBan  = Int32.Parse(dt.Rows[i]["MaLichBan"].ToString());
                    //banDat.MaThongTinKhachHang = Int32.Parse(dt.Rows[i]["MaThongTinKhachHang"].ToString());
                    banDat.TenBuoi      = dt.Rows[i]["TenBuoi"].ToString();
                    banDat.TinhTrangBan = Boolean.Parse(dt.Rows[i]["TinhTrangBan"].ToString());
                    list.Add(banDat);
                }
            }
            return(list);
        }
 public static void ThemThongTinBanDat(BanDatDTO banDat, int loai)
 {
     BanDatDAO.ThemThongTinBanDat(banDat, loai);
 }
 public static void ThemThongTinKhachVaBanDatPhanTom(BanDatDTO ban, int loai)
 {
     BanDatDAO.ThemThongTinKhachVaBanDatPhamTom(ban, loai);
 }
        private void btnLuuThongTinDatBan_Click(object sender, EventArgs e)
        {
            // MessageBox.Show("Thêm mới thông tin khách click check Đặt Bàn - Cập Nhật Thông Tin Khách bỏ Check Đặt Bàn");
            try
            {
                int loai = chkDatBan.Checked == true ? 1 : 0;
                btnThem.Enabled = true;
                if (chkDatBan.Checked)
                {
                    if (txtCMND.Text == String.Empty || txtHoTenKhachHang.Text == string.Empty || txtSoDienThoai.Text == string.Empty || dtNgayDatBan.Text == string.Empty || cbbBuoi.Text == string.Empty)
                    {
                        MessageBox.Show("Hãy Nhập Đầy Đủ Thông Tin");
                    }
                    if (txtCMND.Text == "%" || txtCMND.Text.IndexOf("'") >= 0 || txtCMND.Text.IndexOf("`") >= 0)
                    {
                        MessageBox.Show("Không Hợp Lệ");
                    }
                    if (txtHoTenKhachHang.Text == "%" || txtHoTenKhachHang.Text.IndexOf("'") >= 0 || txtHoTenKhachHang.Text.IndexOf("`") >= 0)
                    {
                        MessageBox.Show("Không Hợp Lệ");
                    }
                    if (txtSoDienThoai.Text == "%" || txtSoDienThoai.Text.IndexOf("'") >= 0 || txtSoDienThoai.Text.IndexOf("`") >= 0)
                    {
                        MessageBox.Show("Không Hợp Lệ");
                    }

                    BanDatDTO banDat = new BanDatDTO()
                    {
                        HoTen        = txtHoTenKhachHang.Text,
                        Cmnd         = txtCMND.Text,
                        DienThoai    = txtSoDienThoai.Text,
                        MaBan        = Int32.Parse(txtMaBan.Text),
                        MaBuoi       = (int)((BuoiDTO)cbbBuoi.SelectedItem).MaBuoi,
                        NgayDatBan   = dtNgayDatBan.Value,
                        SoLuong      = Int32.Parse(txtSoLuong.Text),
                        TinhTrangBan = !chkDatBan.Checked
                    };
                    if (Convert.ToInt32(cboChonLoaiXungDot.SelectedValue) == 3)
                    {
                        if (chkXLBongMa.Checked)
                        {
                            BanDatBUS.ThemThongTinKhachVaBanDatPhanTom(banDat, loai);
                        }
                        //LoadDanhSachBanDat();
                    }
                    BanDatBUS.ThemThongTinBanDat(banDat, loai);
                }
                else
                {
                    //Cap nhat thong tin ban dat
                    int      maBuoi  = (int)((BuoiDTO)cbbBuoi.SelectedItem).MaBuoi;
                    int      soLuong = Int32.Parse(txtSoLuong.Text);
                    DateTime ngay    = dtNgayDatBan.Value;
                    // BanDatBUS.CapNhatThongTinKhachBanDatUnRRead(GlobalVariables.maLichBan, maBuoi, ngay, soLuong);
                    switch (Convert.ToInt32(cboChonLoaiXungDot.SelectedValue))
                    {
                    case 0:
                        BanDatBUS.CapNhatThongTinBanDat(GlobalVariables.maLichBan, maBuoi, ngay, soLuong);
                        //LoadDanhSachBanDat();
                        break;

                    case 1:     // trường hợp mất dữ liệu cập nhật
                        if (chkXLMatDLCapNhat.Checked)
                        {
                            // xử lý
                            BanDatBUS.CapNhatThongTinBanDatSolvedLostUpdate(GlobalVariables.maLichBan, maBuoi, ngay, soLuong);
                        }
                        else
                        {
                            if (chkDocMatDLCapNhat.Checked)
                            {
                                // đọc dữ liệu sai , stored t2 chưa giải quyết
                                BanDatBUS.CapNhatThongTinBanDatKoXuLyLostUpdate(GlobalVariables.maLichBan, maBuoi, ngay, soLuong);
                            }
                            // T2 đã giải quyết
                            BanDatBUS.CapNhatThongTinBanDatLostUpdate(GlobalVariables.maLichBan, maBuoi, ngay, soLuong);
                        }
                        break;

                    case 2:
                        BanDatBUS.CapNhatThongTinKhachBanDatUnRRead(GlobalVariables.maLichBan, maBuoi, ngay, soLuong);
                        // LoadDanhSachBanDat();
                        break;

                    case 3:
                        BanDatBUS.CapNhatThongTinKhachBanDatPhanTom(GlobalVariables.maLichBan, maBuoi, ngay, soLuong);
                        break;

                    default:
                        BanDatBUS.CapNhatThongTinKhachBanDatDefault(GlobalVariables.maLichBan, maBuoi, ngay, soLuong);
                        // LoadDanhSachBanDat();
                        break;
                    }
                }
                LoadDanhSachBanDat();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }