//Hiennv     Tạo mới   26/11/2014  kiểm tra dữ liệu đầu vào trước khi lưu thông tin khách hàng
 private bool CheckDataBeforeSaveCustomer()
 {
     try
     {
         if(String.IsNullOrEmpty(txtNames.Text))
         {
             txtNames.Focus();
             MessageBox.Show("Vui lòng nhập tên khách hàng.", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
             return false;
         }
         else if (dtpBirthday.EditValue != null)
         {
             if (dtpBirthday.DateTime.Date > DateTime.Now.Date)
             {
                 dtpBirthday.Focus();
                 MessageBox.Show("Vui lòng nhập ngày sinh phải nhỏ hơn hoặc bằng ngày hiện tại.", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                 return false;
             }
         }
         else if (dtpDateEnterCountry.EditValue != null)
         {
             if (dtpDateEnterCountry.DateTime.Date > DateTime.Now.Date)
             {
                 dtpDateEnterCountry.Focus();
                 MessageBox.Show("Vui lòng nhập ngày nhập cảnh phải nhỏ hơn hoặc bằng ngày hiện tại.", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                 return false;
             }
         }
         else if (dtpTemporaryResidenceDate.EditValue != null)
         {
             if (dtpTemporaryResidenceDate.DateTime.Date < DateTime.Now.Date)
             {
                 dtpTemporaryResidenceDate.Focus();
                 MessageBox.Show("Vui lòng nhập ngày đăng ký tạm trú phải lớn hơn hoặc bằng ngày hiện tại.", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                 return false;
             }
         }
         else if (dtpLeaveDate.EditValue != null)
         {
             if (dtpLeaveDate.DateTime.Date < DateTime.Now.Date)
             {
                 dtpLeaveDate.Focus();
                 MessageBox.Show("Vui lòng nhập ngày dự kiến đi phải lớn hơn hoặc bằng ngày hiện tại.", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                 return false;
             }
         }
         else if (dtpTemporaryResidenceDate.EditValue != null && dtpLeaveDate.EditValue != null)
         {
             if (dtpTemporaryResidenceDate.DateTime.Date > dtpLeaveDate.DateTime.Date)
             {
                 dtpTemporaryResidenceDate.Focus();
                 MessageBox.Show("Vui lòng nhập ngày đăng ký tạm trú phải nhỏ hơn hoặc bằng ngày đi dự kiến.", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                 return false;
             }
         }
         else if (dtpLimitDateEnterCountry.EditValue != null)
         {
             if (dtpLimitDateEnterCountry.DateTime.Date < DateTime.Now.Date)
             {
                 dtpLimitDateEnterCountry.Focus();
                 MessageBox.Show("Vui lòng nhập ngày hết hạn cư trú phải lớn hơn hoặc bằng ngày hiện tại.", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                 return false;
             }
         }
         else if (txtIdentifier1.Text != null)
         {
             CustomersBO aCustomersBO = new CustomersBO();
             List<Customers> aListExitCustomer = aCustomersBO.Select_ByNameOrIdentifier1(2, txtIdentifier1.Text);
             if (aListExitCustomer.Count > 0)
             {
                 txtIdentifier1.Focus();
                 MessageBox.Show("Số CMT đã tồn tại");
                 return false;
             }
         }
         else
         {
             return true;
         }
         return true;
     }
     catch (Exception ex)
     {
         MessageBox.Show("frmTsk_CheckInForRoomBooking.CheckDataBeforeSaveCustomer()\n" + ex.ToString(), "Error ", MessageBoxButtons.OK, MessageBoxIcon.Error);
         return false;
     }
 }
 private void txtIdentifier1_Leave(object sender, EventArgs e)
 {
     CustomersBO aCustomersBO = new CustomersBO();
     List<Customers> aListExitCustomer = aCustomersBO.Select_ByNameOrIdentifier1(2, txtIdentifier1.Text);
     if (aListExitCustomer.Count > 0)
     {
         MessageBox.Show("Số CMT đã tồn tại");
     }
 }
        //Hiennv     Tạo mới   26/11/2014  luu tam thong tin khach hang
        public void SaveCustomer()
        {
            try
            {
                if (this.CheckDataBeforeSaveCustomer() == true)
                {

                    DateTime? dateTime = null;
                    int IDCustomer = 0;

                    if (this.aCurrent_IDCustomer != 0)
                    {
                        this.aCheckInEN.RemoveCustomerToRoom(this.aCurrent_IDCustomer);
                        List<Customers> aListTemps = aListAvailableCustomers.Where(c => c.ID == this.aCurrent_IDCustomer).ToList();
                        if (aListTemps.Count > 0)
                        {
                            this.aListAvailableCustomers.Remove(aListTemps[0]);
                        }
                    }

                    if (String.IsNullOrEmpty(this.aCurrent_CodeRoom))
                    {
                        MessageBox.Show("Vui lòng chọn phòng trước khi thêm người vào phòng.", "Thông báo ", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                    else
                    {
                        CustomerInfoEN aCustomerInfoEN = new CustomerInfoEN();

                        if (this.aCurrent_IDCustomer == 0)
                        {
                            IDCustomer = StringUtility.AutoCreateCode();
                        }
                        else
                        {
                            IDCustomer = this.aCurrent_IDCustomer;
                        }

                        aCustomerInfoEN.ID = IDCustomer;
                        aCustomerInfoEN.RoomCode = this.aCurrent_CodeRoom;
                        aCustomerInfoEN.Name = txtNames.Text;
                        aCustomerInfoEN.Identifier1 = txtIdentifier1.Text;
                        aCustomerInfoEN.Birthday = String.IsNullOrEmpty(dtpBirthday.Text) ? dateTime : dtpBirthday.DateTime;
                        aCustomerInfoEN.Gender = Convert.ToString(lueGender.EditValue);
                        aCustomerInfoEN.Tel = txtTel.Text;
                        aCustomerInfoEN.Nationality = Convert.ToString(lueNationality.EditValue);
                        aCustomerInfoEN.PurposeComeVietnam = txtPurposeComeVietnam.Text;
                        aCustomerInfoEN.DateEnterCountry = String.IsNullOrEmpty(dtpDateEnterCountry.Text) ? dateTime : dtpDateEnterCountry.DateTime;
                        aCustomerInfoEN.EnterGate = txtEnterGate.Text;
                        aCustomerInfoEN.TemporaryResidenceDate = String.IsNullOrEmpty(dtpTemporaryResidenceDate.Text) ? dateTime : dtpTemporaryResidenceDate.DateTime;
                        aCustomerInfoEN.LeaveDate = String.IsNullOrEmpty(dtpLeaveDate.Text) ? dateTime : dtpLeaveDate.DateTime;
                        aCustomerInfoEN.Organization = txtOrganization.Text;
                        aCustomerInfoEN.LimitDateEnterCountry = String.IsNullOrEmpty(dtpLimitDateEnterCountry.Text) ? dateTime : dtpLimitDateEnterCountry.DateTime;
                        aCustomerInfoEN.PepoleRepresentative = false;

                        CustomersBO aCustomersBO = new CustomersBO();
                        List<Customers> aListExitCustomer = aCustomersBO.Select_ByNameOrIdentifier1(2, txtIdentifier1.Text);

                        this.aCheckInEN.AddCustomerToRoom(this.aCurrent_CodeRoom, aCustomerInfoEN);
                        dgvSelectedCustomer.DataSource = this.aCheckInEN.GetListCustomerByRoomCode(this.aCurrent_CodeRoom);
                        dgvSelectedCustomer.RefreshDataSource();

                    }
                    this.ResetValueAddNew();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("frmTsk_CheckInForRoomBooking.SaveCustomer()\n" + ex.ToString(), "Error ", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }