bool Renter_CheckValidate()
        {
            try
            {
                #region Renter
                if (txtChose_Estate_Object.Text == "")
                {
                    NoteBox.Show("Tên đối tượng BĐS không được để trống", "", NoteBoxLevel.Error);
                    tabContract.Focus();
                    UpdateLayout();
                    txtChose_Estate_Object.Focus();
                    return(false);
                }

                if (_Contract_Controller.CheckEstateByContract(c_Estate_Object_Info_Search.Estate_Id, (decimal)Enum_Contract_Type.Renter) == false)
                {
                    NoteBox.Show("Đối tượng BĐS được cho thuê", "", NoteBoxLevel.Error);
                    tabContract.Focus();
                    UpdateLayout();
                    txtChose_Estate_Object.Focus();
                    return(false);
                }

                if (txtRenter_Name.Text == "")
                {
                    NoteBox.Show("Tên công ty yêu cầu môi giới không được để trống", "", NoteBoxLevel.Error);
                    tabContract.Focus();
                    UpdateLayout();
                    txtRenter_Name.Focus();
                    return(false);
                }

                if (txtAddress.Text == "")
                {
                    NoteBox.Show("Địa chỉ công ty yêu cầu môi giới không được để trống", "", NoteBoxLevel.Error);
                    tabContract.Focus();
                    UpdateLayout();
                    txtAddress.Focus();
                    return(false);
                }

                if (txtUsers.Text == "")
                {
                    NoteBox.Show("Tên người sử dụng không được để trống", "", NoteBoxLevel.Error);
                    tabContract.Focus();
                    UpdateLayout();
                    txtUsers.Focus();
                    return(false);
                }

                if (txtRepresentive.Text == "")
                {
                    NoteBox.Show("Tên người đại diện không được để trống", "", NoteBoxLevel.Error);
                    tabContract.Focus();
                    UpdateLayout();
                    txtRepresentive.Focus();
                    return(false);
                }

                if (txtPhone.Text == "")
                {
                    NoteBox.Show("Số điện thoại không được để trống", "", NoteBoxLevel.Error);
                    tabContract.Focus();
                    UpdateLayout();
                    txtPhone.Focus();
                    return(false);
                }
                #endregion

                #region Contract

                if (txtContract_Code.Text == "")
                {
                    NoteBox.Show("Mã hợp đồng không được để trống", "", NoteBoxLevel.Error);
                    tabContract.Focus();
                    UpdateLayout();
                    txtContract_Code.Focus();
                    return(false);
                }

                //if (txtContract_Name.Text == "")
                //{
                //    NoteBox.Show("Tên hợp đồng không được để trống", "", NoteBoxLevel.Error);
                //    tabContract.Focus();
                //    UpdateLayout();
                //    txtContract_Name.Focus();
                //    return false;
                //}


                if (!_Contract_Controller.Check_ExistContractCode(txtContract_Code.Text))
                {
                    NoteBox.Show("Mã hợp đồng đã tồn tại, tạo lại mã", "", NoteBoxLevel.Error);
                    tabContract.Focus();
                    UpdateLayout();
                    txtContract_Code.Focus();
                    return(false);
                }

                if (txtPrice.Text == "")
                {
                    NoteBox.Show("Tiền thuê nhà không được để trống", "", NoteBoxLevel.Error);
                    tabContract.Focus();
                    UpdateLayout();
                    txtPrice.Focus();
                    return(false);
                }

                if (dpFromDate.Text == "")
                {
                    NoteBox.Show("Thời gian thuê từ ngày không được để trống", "", NoteBoxLevel.Error);
                    tabContract.Focus();
                    UpdateLayout();
                    dpFromDate.Focus();
                    return(false);
                }
                if (CheckValidate.CheckValidDate(dpFromDate.Text) == false)
                {
                    NoteBox.Show("Thời gian thuê từ ngày không đúng định dạng", "", NoteBoxLevel.Error);
                    tabContract.Focus();
                    UpdateLayout();
                    dpFromDate.Focus();
                    return(false);
                }

                if (dpToDate.Text == "")
                {
                    NoteBox.Show("Thời gian thuê đến ngày không được để trống", "", NoteBoxLevel.Error);
                    tabContract.Focus();
                    UpdateLayout();
                    dpToDate.Focus();
                    return(false);
                }
                if (CheckValidate.CheckValidDate(dpToDate.Text) == false)
                {
                    NoteBox.Show("Thời gian thuê đến ngày không đúng định dạng", "", NoteBoxLevel.Error);
                    tabContract.Focus();
                    UpdateLayout();
                    dpToDate.Focus();
                    return(false);
                }

                if (dpContractDate.Text == "")
                {
                    NoteBox.Show("Ngày ký hợp đồng không được để trống", "", NoteBoxLevel.Error);
                    tabContract.Focus();
                    UpdateLayout();
                    dpContractDate.Focus();
                    return(false);
                }
                if (CheckValidate.CheckValidDate(dpContractDate.Text) == false)
                {
                    NoteBox.Show("Ngày ký hợp đồng không đúng định dạng", "", NoteBoxLevel.Error);
                    tabContract.Focus();
                    UpdateLayout();
                    dpContractDate.Focus();
                    return(false);
                }

                if (ConvertData.ConvertString2Date(dpFromDate.Text).Date > ConvertData.ConvertString2Date(dpToDate.Text).Date)
                {
                    NoteBox.Show("Thời gian thuê từ ngày phải nhỏ hơn đến ngày", "", NoteBoxLevel.Error);
                    tabContract.Focus();
                    UpdateLayout();
                    dpFromDate.Focus();
                    return(false);
                }

                #endregion

                #region Fee

                if (txtFee.Text == "")
                {
                    NoteBox.Show("Phí môi giới không được để trống", "", NoteBoxLevel.Error);
                    tabFee.Focus();
                    UpdateLayout();
                    txtFee.Focus();
                    return(false);
                }

                if (!Check_validate_Fee())
                {
                    UpdateLayout();
                    txtFee.Focus();
                    return(false);
                }

                decimal _currecy = Convert.ToDecimal(cboCurrency.SelectedValue);
                if ((_currecy == (decimal)Enum_Contract_Currency.USD) && txtFee_Vnd.Text == "")
                {
                    NoteBox.Show("Phí môi giới (VND) không được để trống", "", NoteBoxLevel.Error);
                    tabFee.Focus();
                    UpdateLayout();
                    txtFee_Vnd.Focus();
                    return(false);
                }

                #endregion

                return(true);
            }
            catch (Exception ex)
            {
                ErrorLog.log.Error(ex.ToString());
                return(false);
            }
        }
        bool Tenat_CheckValidate()
        {
            try
            {
                #region Tenat

                if (txtChose_Estate_Object.Text == "")
                {
                    NoteBox.Show("Tên đối tượng BĐS không được để trống", "", NoteBoxLevel.Error);
                    tabContract.Focus();
                    UpdateLayout();
                    txtChose_Estate_Object.Focus();
                    return(false);
                }

                if (_Contract_Controller.CheckEstateByContract(c_Estate_Object_Info_Search.Estate_Id, (decimal)Enum_Contract_Type.Tenant) == false)
                {
                    NoteBox.Show("Đối tượng BĐS được cho thuê", "", NoteBoxLevel.Error);
                    tabContract.Focus();
                    UpdateLayout();
                    txtChose_Estate_Object.Focus();
                    return(false);
                }

                if (txtRenter_Name.Text == "")
                {
                    NoteBox.Show("Tên công ty yêu cầu môi giới không được để trống", "", NoteBoxLevel.Error);
                    tabContract.Focus();
                    UpdateLayout();
                    txtRenter_Name.Focus();
                    return(false);
                }

                if (txtAddress.Text == "")
                {
                    NoteBox.Show("Địa chỉ công ty yêu cầu môi giới không được để trống", "", NoteBoxLevel.Error);
                    tabContract.Focus();
                    UpdateLayout();
                    txtAddress.Focus();
                    return(false);
                }

                if (txtRepresentive.Text == "")
                {
                    NoteBox.Show("Tên người đại diện không được để trống", "", NoteBoxLevel.Error);
                    tabContract.Focus();
                    UpdateLayout();
                    txtRepresentive.Focus();
                    return(false);
                }

                if (txtPhone.Text == "")
                {
                    NoteBox.Show("Số điện thoại không được để trống", "", NoteBoxLevel.Error);
                    tabContract.Focus();
                    UpdateLayout();
                    txtPhone.Focus();
                    return(false);
                }

                if (txtUsers.Text == "")
                {
                    NoteBox.Show("Người sử dụng không được để trống", "", NoteBoxLevel.Error);
                    tabContract.Focus();
                    UpdateLayout();
                    txtUsers.Focus();
                    return(false);
                }
                #endregion

                #region Contract

                if (txtContract_Code.Text == "")
                {
                    NoteBox.Show("Mã hợp đồng không được để trống", "", NoteBoxLevel.Error);
                    tabContract.Focus();
                    UpdateLayout();
                    txtContract_Code.Focus();
                    return(false);
                }

                if (!_Contract_Controller.Check_ExistContractCode(txtContract_Code.Text))
                {
                    NoteBox.Show("Mã hợp đồng đã tồn tại, tạo lại mã", "", NoteBoxLevel.Error);
                    tabContract.Focus();
                    UpdateLayout();
                    txtContract_Code.Focus();
                    return(false);
                }

                if (dpContractDate.Text == "")
                {
                    NoteBox.Show("Ngày ký hợp đồng không được để trống", "", NoteBoxLevel.Error);
                    tabContract.Focus();
                    UpdateLayout();
                    dpContractDate.Focus();
                    return(false);
                }
                if (CheckValidate.CheckValidDate(dpContractDate.Text) == false)
                {
                    NoteBox.Show("Ngày ký hợp đồng không đúng định dạng", "", NoteBoxLevel.Error);
                    tabContract.Focus();
                    UpdateLayout();
                    dpContractDate.Focus();
                    return(false);
                }

                if (txtPrice.Text == "")
                {
                    NoteBox.Show("Tiền thuê nhà không được để trống", "", NoteBoxLevel.Error);
                    tabContract.Focus();
                    UpdateLayout();
                    txtPrice.Focus();
                    return(false);
                }

                if (dpFromDate.Text == "")
                {
                    NoteBox.Show("Thời gian thuê từ ngày không được để trống", "", NoteBoxLevel.Error);
                    tabContract.Focus();
                    UpdateLayout();
                    dpFromDate.Focus();
                    return(false);
                }
                if (CheckValidate.CheckValidDate(dpFromDate.Text) == false)
                {
                    NoteBox.Show("Thời gian thuê từ ngày không đúng định dạng", "", NoteBoxLevel.Error);
                    tabContract.Focus();
                    UpdateLayout();
                    dpFromDate.Focus();
                    return(false);
                }

                if (dpToDate.Text == "")
                {
                    NoteBox.Show("Thời gian thuê đến ngày không được để trống", "", NoteBoxLevel.Error);
                    tabContract.Focus();
                    UpdateLayout();
                    dpToDate.Focus();
                    return(false);
                }
                if (CheckValidate.CheckValidDate(dpToDate.Text) == false)
                {
                    NoteBox.Show("Thời gian thuê đến ngày không đúng định dạng", "", NoteBoxLevel.Error);
                    tabContract.Focus();
                    UpdateLayout();
                    dpToDate.Focus();
                    return(false);
                }

                if (ConvertData.ConvertString2Date(dpFromDate.Text).Date > ConvertData.ConvertString2Date(dpToDate.Text).Date)
                {
                    NoteBox.Show("Thời gian thuê từ ngày phải nhỏ hơn đến ngày", "", NoteBoxLevel.Error);
                    tabContract.Focus();
                    UpdateLayout();
                    dpFromDate.Focus();
                    return(false);
                }

                #endregion

                #region Fee

                if (txtFee.Text == "")
                {
                    NoteBox.Show("Phí môi giới không được để trống", "", NoteBoxLevel.Error);
                    tabFee.Focus();
                    UpdateLayout();
                    txtFee.Focus();
                    return(false);
                }

                if (txtFeeOnePay.Text == "")
                {
                    NoteBox.Show("Số tiền 1 lần thanh toán không được để trống", "", NoteBoxLevel.Error);
                    tabFee.Focus();
                    UpdateLayout();
                    txtFeeOnePay.Focus();
                    return(false);
                }

                if (Check_validate_Fee() == false)
                {
                    tabFee.Focus();
                    UpdateLayout();
                    return(false);
                }
                #endregion

                return(true);
            }
            catch (Exception ex)
            {
                ErrorLog.log.Error(ex.ToString());
                return(false);
            }
        }
        bool Renter_CheckValidate()
        {
            try
            {
                #region Renter
                if (txtRenter_Name.Text == "")
                {
                    NoteBox.Show("Tên công ty yêu cầu môi giới không được để trống", "", NoteBoxLevel.Error);
                    tabContract.Focus();
                    UpdateLayout();
                    txtRenter_Name.Focus();
                    return(false);
                }

                if (txtAddress.Text == "")
                {
                    NoteBox.Show("Địa chỉ công ty yêu cầu môi giới không được để trống", "", NoteBoxLevel.Error);
                    tabContract.Focus();
                    UpdateLayout();
                    txtAddress.Focus();
                    return(false);
                }



                if (txtPhone.Text == "")
                {
                    NoteBox.Show("Số điện thoại không được để trống", "", NoteBoxLevel.Error);
                    tabContract.Focus();
                    UpdateLayout();
                    txtPhone.Focus();
                    return(false);
                }
                #endregion

                #region Contract

                if (txtContract_Code.Text == "")
                {
                    NoteBox.Show("Mã hợp đồng không được để trống", "", NoteBoxLevel.Error);
                    tabContract.Focus();
                    UpdateLayout();
                    txtContract_Code.Focus();
                    return(false);
                }

                if (!_Contract_Controller.Check_ExistContractCode(txtContract_Code.Text) && txtContract_Code.Text != c_Contract_Info.Contract_Code)
                {
                    NoteBox.Show("Mã hợp đồng đã tồn tại, tạo lại mã", "", NoteBoxLevel.Error);
                    tabContract.Focus();
                    UpdateLayout();
                    txtContract_Code.Focus();
                    return(false);
                }

                if (dpFromDate.Text == "")
                {
                    NoteBox.Show("Thời gian thuê từ ngày không được để trống", "", NoteBoxLevel.Error);
                    tabContract.Focus();
                    UpdateLayout();
                    dpFromDate.Focus();
                    return(false);
                }
                if (CheckValidate.CheckValidDate(dpFromDate.Text) == false)
                {
                    NoteBox.Show("Thời gian thuê từ ngày không đúng định dạng", "", NoteBoxLevel.Error);
                    tabContract.Focus();
                    UpdateLayout();
                    dpFromDate.Focus();
                    return(false);
                }

                if (dpToDate.Text == "")
                {
                    NoteBox.Show("Thời gian thuê đến ngày không được để trống", "", NoteBoxLevel.Error);
                    tabContract.Focus();
                    UpdateLayout();
                    dpToDate.Focus();
                    return(false);
                }
                if (CheckValidate.CheckValidDate(dpToDate.Text) == false)
                {
                    NoteBox.Show("Thời gian thuê đến ngày không đúng định dạng", "", NoteBoxLevel.Error);
                    tabContract.Focus();
                    UpdateLayout();
                    dpToDate.Focus();
                    return(false);
                }

                if (dpContractDate.Text == "")
                {
                    NoteBox.Show("Ngày ký hợp đồng không được để trống", "", NoteBoxLevel.Error);
                    tabContract.Focus();
                    UpdateLayout();
                    dpContractDate.Focus();
                    return(false);
                }
                if (CheckValidate.CheckValidDate(dpContractDate.Text) == false)
                {
                    NoteBox.Show("Ngày ký hợp đồng không đúng định dạng", "", NoteBoxLevel.Error);
                    tabContract.Focus();
                    UpdateLayout();
                    dpContractDate.Focus();
                    return(false);
                }

                if (ConvertData.ConvertString2Date(dpFromDate.Text).Date > ConvertData.ConvertString2Date(dpToDate.Text).Date)
                {
                    NoteBox.Show("Thời gian thuê từ ngày phải nhỏ hơn đến ngày", "", NoteBoxLevel.Error);
                    tabContract.Focus();
                    UpdateLayout();
                    dpFromDate.Focus();
                    return(false);
                }

                if (txtUsers.Text == "")
                {
                    NoteBox.Show("Tên người sử dụng không được để trống", "", NoteBoxLevel.Error);
                    tabContract.Focus();
                    UpdateLayout();
                    txtUsers.Focus();
                    return(false);
                }

                if (txtRepresentive.Text == "")
                {
                    NoteBox.Show("Tên người đại diện không được để trống", "", NoteBoxLevel.Error);
                    tabContract.Focus();
                    UpdateLayout();
                    txtRepresentive.Focus();
                    return(false);
                }

                #endregion

                #region Fee

                if (txtFee.Text == "")
                {
                    NoteBox.Show("Phí môi giới không được để trống", "", NoteBoxLevel.Error);
                    tabFee.Focus();
                    UpdateLayout();
                    txtFee.Focus();
                    return(false);
                }

                if (Check_validate_Fee() == false)
                {
                    tabFee.Focus();
                    UpdateLayout();
                    txtFee.Focus();
                    return(false);
                }

                decimal _currecy = Convert.ToDecimal(cboCurrency.SelectedValue);
                if ((_currecy == (decimal)Enum_Contract_Currency.USD) && txtFee_Vnd.Text == "")
                {
                    NoteBox.Show("Phí môi giới (VND) không được để trống", "", NoteBoxLevel.Error);
                    tabFee.Focus();
                    UpdateLayout();
                    txtFee_Vnd.Focus();
                    return(false);
                }

                #endregion

                #region Extend

                if (Convert.ToDecimal(cboStatusContract.SelectedValue) == (decimal)Enum_Contract_Status.Gia_Han)
                {
                    if (dpFromDate_Extend.Text == "")
                    {
                        NoteBox.Show("Thời gian thuê từ ngày không được để trống", "", NoteBoxLevel.Error);
                        tabExtend.Focus();
                        UpdateLayout();
                        dpFromDate_Extend.Focus();
                        return(false);
                    }
                    if (CheckValidate.CheckValidDate(dpFromDate_Extend.Text) == false)
                    {
                        NoteBox.Show("Thời gian thuê từ ngày không đúng định dạng", "", NoteBoxLevel.Error);
                        tabExtend.Focus();
                        UpdateLayout();
                        dpFromDate_Extend.Focus();
                        return(false);
                    }

                    if (dpToDate_Extend.Text == "")
                    {
                        NoteBox.Show("Thời gian thuê đến ngày không được để trống", "", NoteBoxLevel.Error);
                        tabExtend.Focus();
                        UpdateLayout();
                        dpToDate_Extend.Focus();
                        return(false);
                    }
                    if (CheckValidate.CheckValidDate(dpToDate_Extend.Text) == false)
                    {
                        NoteBox.Show("Thời gian thuê đến ngày không đúng định dạng", "", NoteBoxLevel.Error);
                        tabExtend.Focus();
                        UpdateLayout();
                        dpToDate_Extend.Focus();
                        return(false);
                    }

                    if (ConvertData.ConvertString2Date(dpFromDate_Extend.Text).Date > ConvertData.ConvertString2Date(dpToDate_Extend.Text).Date)
                    {
                        NoteBox.Show("Thời gian thuê từ ngày phải nhỏ hơn đến ngày", "", NoteBoxLevel.Error);
                        tabExtend.Focus();
                        UpdateLayout();
                        dpFromDate_Extend.Focus();
                        return(false);
                    }

                    if (txtFee_Extend.Text == "")
                    {
                        NoteBox.Show("Phí môi giới không được để trống", "", NoteBoxLevel.Error);
                        tabExtend.Focus();
                        UpdateLayout();
                        txtFee_Extend.Focus();
                        return(false);
                    }

                    if (Check_validate_Fee_Extend() == false)
                    {
                        tabExtend.Focus();
                        UpdateLayout();
                        txtFee_Extend.Focus();
                        return(false);
                    }

                    if ((_currecy == (decimal)Enum_Contract_Currency.USD) && txtFee_Vnd_Extend.Text == "")
                    {
                        NoteBox.Show("Phí môi giới (VND) không được để trống", "", NoteBoxLevel.Error);
                        tabExtend.Focus();
                        UpdateLayout();
                        txtFee_Vnd_Extend.Focus();
                        return(false);
                    }
                }

                #endregion

                if ((Convert.ToDecimal(cboStatusContract.SelectedValue) == (decimal)Enum_Contract_Status.Close ||
                     Convert.ToDecimal(cboStatusContract.SelectedValue) == (decimal)Enum_Contract_Status.Het_Han ||
                     Convert.ToDecimal(cboStatusContract.SelectedValue) == (decimal)Enum_Contract_Status.Dong_Trc_Thoi_Han) &&
                    Check_Is_DongHopDong() == false)
                {
                    NoteBox.Show("Chưa thanh toán hết phí không thể đóng hoặc sửa trạng thái hợp đồng", "", NoteBoxLevel.Error);
                    tabContract.Focus();
                    UpdateLayout();
                    cboStatusContract.Focus();
                    return(false);
                }

                return(true);
            }
            catch (Exception ex)
            {
                ErrorLog.log.Error(ex.ToString());
                return(false);
            }
        }