コード例 #1
0
        /// <summary>
        ///
        /// </summary>
        private void InitController()
        {
            // init department
            storeDepartment.DataSource = CurrentUser.DepartmentsTree;
            storeDepartment.DataBind();

            // init employee type
            storeEmployeeType.DataSource = CatalogController.GetAll("cat_EmployeeType", null, null, null, false, null, null);
            storeEmployeeType.DataBind();

            //init generate employeeCode
            txtEmployeeCode.Text = GenerateEmployeeCode();
            wdEmployeeEnterprise.Show();
        }
コード例 #2
0
ファイル: FilterGenerate.cs プロジェクト: war-man/HRM
        /// <summary>
        /// Category type filter
        /// </summary>
        /// <returns></returns>
        private static FilterItem GenerateFilter(FilterInput filterInput, string prefix, bool isUseStore)
        {
            var filter = new FilterItem
            {
                Name = filterInput.FilterName,
            };
            var categories = CatalogController.GetAll(filterInput.CategoryObjectName, null, null, null, false, null, null).OrderBy(o => o.Name);

            foreach (var item in categories)
            {
                filter.Items.Add(new FilterCondition(item.Name, (isUseStore ? prefix + filterInput.CategoryIdName : "[" + filterInput.CategoryIdName + "]") + " = {0}".FormatWith(item.Id)));
            }
            return(filter);
        }
コード例 #3
0
ファイル: EmployeeShort.aspx.cs プロジェクト: war-man/HRM
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!ExtNet.IsAjaxRequest)
            {
                // init department
                storeDepartment.DataSource = CurrentUser.DepartmentsTree;
                storeDepartment.DataBind();

                // init employee type
                storeEmployeeType.DataSource = CatalogController.GetAll("cat_EmployeeType", null, null, null, false, null, null);
                storeEmployeeType.DataBind();

                //init generate employeeCode
                txtEmployeeCode.Text = GenerateEmployeeCode();
                wdEmployeeShort.Show();
            }
        }
コード例 #4
0
ファイル: Default.aspx.cs プロジェクト: war-man/HRM
        private void CreateDropDownExcel(string obj, WorkBook workbook, DataColumn col)
        {
            var list = CatalogController.GetAll(obj, null, null, null, false, null, null);

            if (list == null)
            {
                return;
            }
            var validation = workbook.CreateDataValidation();

            validation.Type = DataValidation.eUser;
            var validateList = "\"{0}\"".FormatWith(string.Join(",", list.Select(l => l.Name + " ({0})".FormatWith(l.Id)).ToList()));

            // formula string length cannot be greater than 256
            if (validateList.Length < 256)
            {
                // set formula by string
                validation.Formula1 = validateList;
            }
            else
            {
                var columnName = GetExcelColumnName(col.Ordinal + 1);
                // select info sheet
                workbook.Sheet = 1;
                // write list into info sheet
                foreach (var item in list.Select((value, index) => new { value, index }))
                {
                    workbook.setText(item.index + 1, col.Ordinal, item.value.Name + " ({0})".FormatWith(item.value.Id));
                }
                // select
                workbook.Sheet = 0;
                // set formula by selected range
                validation.Formula1 = "Info!${0}$2:${0}${1}".FormatWith(columnName, list.Count);
            }
            // selection range
            workbook.setSelection(2, col.Ordinal, 50, col.Ordinal);
            // custom style selection
            var range = workbook.getRangeStyle();

            range.CustomFormat = "";
            //workbook.setRangeStyle(range);
            workbook.DataValidation = validation;
        }
コード例 #5
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void storeReportSource_OnRefreshData(object sender, StoreRefreshDataEventArgs e)
        {
            if (!string.IsNullOrEmpty(hdfReportTemplate.Text))
            {
                // init data source
                var reportSource = new List <ListItemModel>();

                // init report type
                var reportTemplate = Convert.ToInt32(hdfReportTemplate.Text);

                switch (reportTemplate)
                {
                case (int)ReportTemplate.EnterprisePayroll:
                    reportSource = CatalogController.GetAll("sal_PayrollConfig", null, null, null, false, null, null).OrderBy(c => c.Name).Select(c => new ListItemModel(c.Id.ToString(), c.Name)).ToList();
                    break;
                }

                // store report template
                storeReportSource.DataSource = reportSource;
                storeReportSource.DataBind();
            }
        }
コード例 #6
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!ExtNet.IsAjaxRequest)
            {
                // Set resource
                fdCurriculumVitae.Title            = Resource.Get("Employee.CurriculumVitae");
                txtManagementDepartment.FieldLabel = Resource.Get("Employee.ManagementDepartment");
                txtEmployeeCode.FieldLabel         = Resource.Get("Employee.ShortCode");
                cboDepartment.FieldLabel           = Resource.Get("Employee.ShortDepartment");

                // init department
                storeDepartment.DataSource = CurrentUser.DepartmentsTree;
                storeDepartment.DataBind();

                // init employee type
                storeEmployeeType.DataSource = CatalogController.GetAll("cat_EmployeeType", null, null, null, false, null, null);
                storeEmployeeType.DataBind();

                //init generate employeeCode
                txtEmployeeCode.Text = GenerateEmployeeCode();
                wdEmployeeShort.Show();
            }
        }
コード例 #7
0
 protected void storeSchedulerType_OnRefreshData(object sender, StoreRefreshDataEventArgs e)
 {
     storeSchedulerType.DataSource = CatalogController.GetAll("cat_SchedulerType", null, null, null, false, null, null).OrderBy(o => o.Name);
     storeSchedulerType.DataBind();
 }
コード例 #8
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void btnSaveEmployee_Click(object sender, DirectEventArgs e)
        {
            var recordController = new RecordController();
            var hs = new RecordModel();

            if (!string.IsNullOrEmpty(hdfPrKeyHoSo.Text))
            {
                hs.EmployeeCode = txtEmployeeCode.Text;
                if (!string.IsNullOrEmpty(txtEmployeeCode.Text.Trim()))
                {
                    var recordList = RecordController.CheckExistIDNumberAndEmployeeCode(null, null, txtEmployeeCode.Text);
                    if (recordList != null && recordList.Count > 1)
                    {
                        Dialog.ShowError("Mã cán bộ đã tồn tại. Vui lòng nhập mã cán bộ khác.");
                        txtEmployeeCode.Text = GenerateEmployeeCode();
                        return;
                    }
                }
            }
            else
            {
                hs.EmployeeCode = txtEmployeeCode.Text;
                if (!string.IsNullOrEmpty(txtEmployeeCode.Text.Trim()))
                {
                    var recordList = RecordController.CheckExistIDNumberAndEmployeeCode(null, null, txtEmployeeCode.Text);
                    if (recordList != null && recordList.Count > 0)
                    {
                        Dialog.ShowError("Mã cán bộ đã tồn tại. Vui lòng nhập mã cán bộ khác.");
                        return;
                    }
                }
                if (!string.IsNullOrEmpty(txtIDNumber.Text.Trim()))
                {
                    var recordList = RecordController.CheckExistIDNumberAndEmployeeCode(null, txtIDNumber.Text, null);
                    if (recordList != null && recordList.Count > 0)
                    {
                        Dialog.ShowError("Số chứng minh nhân dân đã tồn tại. Vui lòng nhập số chứng minh nhân dân khác.");
                        return;
                    }
                }
            }
            if (!string.IsNullOrEmpty(hdfAnhDaiDien.Text))
            {
                hs.ImageUrl = hdfAnhDaiDien.Text;
            }
            hs.FullName = txtFullName.Text;
            // lấy họ và đệm từ họ tên
            var position = hs.FullName.LastIndexOf(' ');

            hs.Name = position == -1 ? hs.FullName : hs.FullName.Substring(position + 1).Trim();

            hs.Alias = txtAlias.Text;
            if (!DatetimeHelper.IsNull(dfBirthDate.SelectedDate))
            {
                hs.BirthDate = dfBirthDate.SelectedDate;
            }
            if (!string.IsNullOrEmpty(cbxSex.SelectedItem.Value) && cbxSex.SelectedItem.Value == "M")
            {
                hs.Sex = true;
            }
            else
            {
                hs.Sex = false;
            }
            if (string.IsNullOrEmpty(cbxBasicEducation.Text))
            {
                hdfBasicEducationId.Text = @"0";
            }
            if (string.IsNullOrEmpty(cbxEducation.Text))
            {
                hdfEducationId.Text = @"0";
            }
            if (string.IsNullOrEmpty(cbxInputIndustry.Text))
            {
                hdfInputIndustryId.Text = @"0";
            }
            if (string.IsNullOrEmpty(cbxITLevel.Text))
            {
                hdfITLevelId.Text = @"0";
            }
            if (string.IsNullOrEmpty(cbxLanguageLevel.Text))
            {
                hdfLanguageLevelId.Text = @"0";
            }
            if (string.IsNullOrEmpty(cbxPosition.Text))
            {
                hdfPositionId.Text = @"0";
            }
            if (string.IsNullOrEmpty(cbxJobTitle.Text))
            {
                hdfJobTitleId.Text = @"0";
            }
            if (!string.IsNullOrEmpty(hdfBirthPlaceProvinceId.Text))
            {
                hs.BirthPlaceProvinceId = Convert.ToInt32(hdfBirthPlaceProvinceId.Text);
            }
            if (string.IsNullOrEmpty(cbxBirthPlaceDistrict.Text))
            {
                hdfBirthPlaceDistrictId.Text = @"0";
            }
            if (!string.IsNullOrEmpty(hdfBirthPlaceDistrictId.Text))
            {
                hs.BirthPlaceDistrictId = Convert.ToInt32(hdfBirthPlaceDistrictId.Text);
            }
            if (string.IsNullOrEmpty(cbxBirthPlaceWard.Text))
            {
                hdfBirthPlaceWardId.Text = @"0";
            }
            if (!string.IsNullOrEmpty(hdfBirthPlaceWardId.Text))
            {
                hs.BirthPlaceWardId = Convert.ToInt32(hdfBirthPlaceWardId.Text);
            }
            if (!string.IsNullOrEmpty(hdfHometownProvinceId.Text))
            {
                hs.HometownProvinceId = Convert.ToInt32(hdfHometownProvinceId.Text);
            }
            if (string.IsNullOrEmpty(cbxHometownDistrict.Text))
            {
                hdfHometownDistrictId.Text = @"0";
            }
            if (!string.IsNullOrEmpty(hdfHometownDistrictId.Text))
            {
                hs.HometownDistrictId = Convert.ToInt32(hdfHometownDistrictId.Text);
            }
            if (string.IsNullOrEmpty(cbxHometownWard.Text))
            {
                hdfHometownWardId.Text = @"0";
            }
            if (!string.IsNullOrEmpty(hdfHometownWardId.Text))
            {
                hs.HometownWardId = Convert.ToInt32(hdfHometownWardId.Text);
            }
            if (!string.IsNullOrEmpty(hdfMaritalStatusId.Text))
            {
                hs.MaritalStatusId = Convert.ToInt32(hdfMaritalStatusId.Text);
            }
            if (!string.IsNullOrEmpty(hdfFolkId.Text))
            {
                hs.FolkId = Convert.ToInt32(hdfFolkId.Text);
            }
            if (!string.IsNullOrEmpty(hdfReligionId.Text))
            {
                hs.ReligionId = Convert.ToInt32(hdfReligionId.Text);
            }
            if (!string.IsNullOrEmpty(hdfPersonalClassId.Text))
            {
                hs.PersonalClassId = Convert.ToInt32(hdfPersonalClassId.Text);
            }
            if (!string.IsNullOrEmpty(hdfFamilyClassId.Text))
            {
                hs.FamilyClassId = Convert.ToInt32(hdfFamilyClassId.Text);
            }
            hs.ResidentPlace = txt_ResidentPlace.Text;
            hs.Address       = txt_Address.Text;
            hs.CPVCardNumber = txtCPVCardNumber.Text;
            if (!string.IsNullOrEmpty(hdfJobTitleId.Text))
            {
                hs.JobTitleId = Convert.ToInt32(hdfJobTitleId.Text);
            }
            //Ngay thu viec
            if (!DatetimeHelper.IsNull(RecruimentDate.SelectedDate))
            {
                hs.RecruimentDate = RecruimentDate.SelectedDate;
            }
            //Ngay chinh thuc
            if (!DatetimeHelper.IsNull(ParticipationDate.SelectedDate))
            {
                hs.ParticipationDate = ParticipationDate.SelectedDate;
            }
            hs.RecruimentDepartment = txtRecruitmentDepartment.Text;
            if (!string.IsNullOrEmpty(hdfBasicEducationId.Text))
            {
                hs.BasicEducationId = Convert.ToInt32(hdfBasicEducationId.Text);
            }
            if (!string.IsNullOrEmpty(hdfEducationId.Text))
            {
                hs.EducationId = Convert.ToInt32(hdfEducationId.Text);
            }
            if (!string.IsNullOrEmpty(hdfPoliticLevelId.Text))
            {
                hs.PoliticLevelId = Convert.ToInt32(hdfPoliticLevelId.Text);
            }
            if (!string.IsNullOrEmpty(hdfLanguageLevelId.Text))
            {
                hs.LanguageLevelId = Convert.ToInt32(hdfLanguageLevelId.Text);
            }
            if (!string.IsNullOrEmpty(hdfITLevelId.Text))
            {
                hs.ITLevelId = Convert.ToInt32(hdfITLevelId.Text);
            }
            if (!DatetimeHelper.IsNull(CPVJoinedDate.SelectedDate))
            {
                hs.CPVJoinedDate = CPVJoinedDate.SelectedDate;
            }
            if (!DatetimeHelper.IsNull(CPVOfficialJoinedDate.SelectedDate))
            {
                hs.CPVOfficialJoinedDate = CPVOfficialJoinedDate.SelectedDate;
            }
            hs.CPVJoinedPlace = txtCPVJoinedPlace.Text;
            if (!string.IsNullOrEmpty(hdfCPVPositionId.Text))
            {
                hs.CPVPositionId = Convert.ToInt32(hdfCPVPositionId.Text);
            }
            if (!string.IsNullOrEmpty(hdfVYUPositionId.Text))
            {
                hs.VYUPositionId = Convert.ToInt32(hdfVYUPositionId.Text);
            }
            if (!DatetimeHelper.IsNull(ArmyJoinedDate.SelectedDate))
            {
                hs.ArmyJoinedDate = ArmyJoinedDate.SelectedDate;
            }
            if (!DatetimeHelper.IsNull(ArmyLeftDate.SelectedDate))
            {
                hs.ArmyLeftDate = ArmyLeftDate.SelectedDate;
            }
            if (!string.IsNullOrEmpty(hdfPositionId.Text))
            {
                hs.PositionId = Convert.ToInt32(hdfPositionId.Text);
            }
            if (!string.IsNullOrEmpty(hdfArmyLevelId.Text))
            {
                hs.ArmyLevelId = Convert.ToInt32(hdfArmyLevelId.Text);
            }
            if (!string.IsNullOrEmpty(hdfHealthStatusId.Text))
            {
                hs.HealthStatusId = Convert.ToInt32(hdfHealthStatusId.Text);
            }
            hs.BloodGroup = cbxBloodGroup.SelectedIndex >= 0 ? cbxBloodGroup.SelectedItem.Value : "";
            if (!string.IsNullOrEmpty(txtHeight.Text))
            {
                hs.Height = Convert.ToDecimal(txtHeight.Text);
            }
            if (!string.IsNullOrEmpty(txtWeight.Text))
            {
                hs.Weight = Convert.ToDecimal(txtWeight.Text);
            }
            if (!string.IsNullOrEmpty(hdfDepartmentId.Text))
            {
                hs.DepartmentId = Convert.ToInt32(hdfDepartmentId.Text);
            }
            hs.RankWounded = txtRankWounded.Text;
            if (!string.IsNullOrEmpty(hdfFamilyPolicyId.Text))
            {
                hs.FamilyPolicyId = Convert.ToInt32(hdfFamilyPolicyId.Text);
            }
            if (!string.IsNullOrEmpty(txtIDNumber.Text))
            {
                hs.IDNumber = txtIDNumber.Text;
            }
            if (!DatetimeHelper.IsNull(IDIssueDate.SelectedDate))
            {
                hs.IDIssueDate = IDIssueDate.SelectedDate;
            }
            if (!string.IsNullOrEmpty(hdfIDIssuePlaceId.Text))
            {
                hs.IDIssuePlaceId = Convert.ToInt32(hdfIDIssuePlaceId.Text);
            }
            if (!DatetimeHelper.IsNull(VYUJoinedDate.SelectedDate))
            {
                hs.VYUJoinedDate = VYUJoinedDate.SelectedDate;
            }
            hs.VYUJoinedPlace  = txtVYUJoinedPlace.Text;
            hs.PersonalTaxCode = txtPersonalTaxCode.Text;
            if (!string.IsNullOrEmpty(hdfWorkStatusId.Text))
            {
                hs.WorkStatusId = Convert.ToInt32(hdfWorkStatusId.Text);
            }
            var workStatus = CatalogController.GetAll("cat_WorkStatus", null, ((int)RecordStatus.Working).ToString(),
                                                      null, false, null, 1);

            if (workStatus.Count > 0)
            {
                hs.WorkStatusId = workStatus.First().Id;
            }

            hs.WorkEmail          = txtWorkEmail.Text;
            hs.PersonalEmail      = txtPersonalEmail.Text;
            hs.CellPhoneNumber    = txtCellPhoneNumber.Text;
            hs.HomePhoneNumber    = txtHomePhoneNumber.Text;
            hs.WorkPhoneNumber    = txtWorkPhoneNumber.Text;
            hs.InsuranceNumber    = txtInsuranceNumber.Text;
            hs.ContactPersonName  = txtContactPersonName.Text;
            hs.ContactPhoneNumber = txtContactPhoneNumber.Text;
            hs.ContactRelation    = txtContactRelation.Text;
            hs.ContactAddress     = txtContactAddress.Text;
            if (!string.IsNullOrEmpty(hdfInputIndustryId.Text))
            {
                hs.IndustryId = Convert.ToInt32(hdfInputIndustryId.Text);
            }
            if (!DatetimeHelper.IsNull(InsuranceIssueDate.SelectedDate))
            {
                hs.InsuranceIssueDate = InsuranceIssueDate.SelectedDate;
            }

            if (Request.QueryString["Event"] == "Edit" || !string.IsNullOrEmpty(hdfPrKeyHoSo.Text))
            {
                //#region Update Ho so
                hs.Id = Convert.ToInt32(hdfPrKeyHoSo.Text);
                RecordController.Update(hs);
                var team = hr_TeamServices.GetByRecordId(hs.Id);
                if (team != null)
                {
                    team.RecordId = hs.Id;
                    EditDataFromHrTeam(team);
                    team.EditedDate = DateTime.Now;
                    hr_TeamServices.Update(team);
                }
                Dialog.ShowNotification("Cập nhật dữ liệu thành công!");
                //#endregion
            }
            else
            {
                #region Insert Ho so

                var resultModel = RecordController.Create(hs);
                //set
                hs = resultModel;
                hdfPrKeyHoSo.Text = hs.Id.ToString();
                //insert info team
                var team = new hr_Team {
                    RecordId = hs.Id
                };
                EditDataFromHrTeam(team);
                team.CreatedDate = DateTime.Now;
                hr_TeamServices.Create(team);
                Dialog.ShowNotification("Thêm mới thành công!");
                if (e.ExtraParams["Reset"] == "True")
                {
                    RM.RegisterClientScriptBlock("resetModeNew", "ResetForm();");
                }

                #endregion
            }
            // Save family
            SaveGridFamilyRelationship(e.ExtraParams["jsonFamilyRelationship"], hs.Id);
            if (e.ExtraParams["Reset"] == "True")
            {
                RM.RegisterClientScriptBlock("ClearForm", "ResetForm();");
                hdfPrKeyHoSo.Text = "";
                GridPanelFamilyRelationship.Reload();
            }
            if (e.ExtraParams["Close"] == "True")
            {
                wdEmployeeEnterprise.Hide();
            }
        }
コード例 #9
0

        
コード例 #10
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void btnSaveEmployee_Click(object sender, DirectEventArgs e)
        {
            var record    = new RecordModel();
            var candidate = new CandidateModel();

            if (!string.IsNullOrEmpty(hdfRecordId.Text))
            {
                record.EmployeeCode = txtEmployeeCode.Text;
                if (!string.IsNullOrEmpty(txtEmployeeCode.Text.Trim()))
                {
                    var recordList = RecordController.CheckExistIDNumberAndEmployeeCode(null, null, txtEmployeeCode.Text);
                    if (recordList != null && recordList.Count > 1)
                    {
                        Dialog.ShowError("Mã nhân viên đã tồn tại. Vui lòng nhập mã khác.");
                        txtEmployeeCode.Text = GenerateEmployeeCode();
                        return;
                    }
                }
            }
            else
            {
                record.EmployeeCode = txtEmployeeCode.Text;
                if (!string.IsNullOrEmpty(txtEmployeeCode.Text.Trim()))
                {
                    var recordList = RecordController.CheckExistIDNumberAndEmployeeCode(null, null, txtEmployeeCode.Text);
                    if (recordList != null && recordList.Count > 0)
                    {
                        Dialog.ShowError("Mã nhân viên đã tồn tại. Vui lòng nhập mã khác.");
                        return;
                    }
                }
                if (!string.IsNullOrEmpty(txtIDNumber.Text.Trim()))
                {
                    var recordList = RecordController.CheckExistIDNumberAndEmployeeCode(null, txtIDNumber.Text, null);
                    if (recordList != null && recordList.Count > 0)
                    {
                        Dialog.ShowError("Số chứng minh nhân dân đã tồn tại. Vui lòng nhập số chứng minh nhân dân khác.");
                        return;
                    }
                }
            }
            if (!string.IsNullOrEmpty(hdfImagePerson.Text))
            {
                record.ImageUrl = hdfImagePerson.Text;
            }
            record.FullName = txtFullName.Text;
            // lấy họ và đệm từ họ tên
            var position = record.FullName.LastIndexOf(' ');

            record.Name = position == -1 ? record.FullName : record.FullName.Substring(position + 1).Trim();

            record.Alias = txtAlias.Text;
            if (!DatetimeHelper.IsNull(dfBirthDate.SelectedDate))
            {
                record.BirthDate = dfBirthDate.SelectedDate;
            }
            if (!string.IsNullOrEmpty(cbxSex.SelectedItem.Value) && cbxSex.SelectedItem.Value == "M")
            {
                record.Sex = true;
            }
            else
            {
                record.Sex = false;
            }
            if (string.IsNullOrEmpty(cbxBasicEducation.Text))
            {
                hdfBasicEducationId.Text = @"0";
            }
            if (string.IsNullOrEmpty(cbxEducation.Text))
            {
                hdfEducationId.Text = @"0";
            }
            if (string.IsNullOrEmpty(cbxInputIndustry.Text))
            {
                hdfInputIndustryId.Text = @"0";
            }
            if (string.IsNullOrEmpty(cbxITLevel.Text))
            {
                hdfITLevelId.Text = @"0";
            }
            if (string.IsNullOrEmpty(cbxLanguageLevel.Text))
            {
                hdfLanguageLevelId.Text = @"0";
            }
            if (string.IsNullOrEmpty(cbxPosition.Text))
            {
                hdfPositionId.Text = @"0";
            }
            if (string.IsNullOrEmpty(cbxJobTitle.Text))
            {
                hdfJobTitleId.Text = @"0";
            }
            if (!string.IsNullOrEmpty(hdfBirthPlaceProvinceId.Text))
            {
                record.BirthPlaceProvinceId = Convert.ToInt32(hdfBirthPlaceProvinceId.Text);
            }
            if (string.IsNullOrEmpty(cbxBirthPlaceDistrict.Text))
            {
                hdfBirthPlaceDistrictId.Text = @"0";
            }
            if (!string.IsNullOrEmpty(hdfBirthPlaceDistrictId.Text))
            {
                record.BirthPlaceDistrictId = Convert.ToInt32(hdfBirthPlaceDistrictId.Text);
            }
            if (string.IsNullOrEmpty(cbxBirthPlaceWard.Text))
            {
                hdfBirthPlaceWardId.Text = @"0";
            }
            if (!string.IsNullOrEmpty(hdfBirthPlaceWardId.Text))
            {
                record.BirthPlaceWardId = Convert.ToInt32(hdfBirthPlaceWardId.Text);
            }
            if (!string.IsNullOrEmpty(hdfHometownProvinceId.Text))
            {
                record.HometownProvinceId = Convert.ToInt32(hdfHometownProvinceId.Text);
            }
            if (string.IsNullOrEmpty(cbxHometownDistrict.Text))
            {
                hdfHometownDistrictId.Text = @"0";
            }
            if (!string.IsNullOrEmpty(hdfHometownDistrictId.Text))
            {
                record.HometownDistrictId = Convert.ToInt32(hdfHometownDistrictId.Text);
            }
            if (string.IsNullOrEmpty(cbxHometownWard.Text))
            {
                hdfHometownWardId.Text = @"0";
            }
            if (!string.IsNullOrEmpty(hdfHometownWardId.Text))
            {
                record.HometownWardId = Convert.ToInt32(hdfHometownWardId.Text);
            }
            if (!string.IsNullOrEmpty(hdfMaritalStatusId.Text))
            {
                record.MaritalStatusId = Convert.ToInt32(hdfMaritalStatusId.Text);
            }
            if (!string.IsNullOrEmpty(hdfFolkId.Text))
            {
                record.FolkId = Convert.ToInt32(hdfFolkId.Text);
            }
            if (!string.IsNullOrEmpty(hdfReligionId.Text))
            {
                record.ReligionId = Convert.ToInt32(hdfReligionId.Text);
            }
            record.ResidentPlace = txt_ResidentPlace.Text;
            record.Address       = txt_Address.Text;
            record.CPVCardNumber = txtCPVCardNumber.Text;
            if (!string.IsNullOrEmpty(hdfJobTitleId.Text))
            {
                record.JobTitleId = Convert.ToInt32(hdfJobTitleId.Text);
            }
            //Ngay thu viec
            if (!DatetimeHelper.IsNull(RecruimentDate.SelectedDate))
            {
                record.RecruimentDate = RecruimentDate.SelectedDate;
            }
            //Ngay chinh thuc
            if (!DatetimeHelper.IsNull(ParticipationDate.SelectedDate))
            {
                record.ParticipationDate = ParticipationDate.SelectedDate;
            }
            record.RecruimentDepartment = txtRecruitmentDepartment.Text;
            if (!string.IsNullOrEmpty(hdfBasicEducationId.Text))
            {
                record.BasicEducationId = Convert.ToInt32(hdfBasicEducationId.Text);
            }
            if (!string.IsNullOrEmpty(hdfEducationId.Text))
            {
                record.EducationId = Convert.ToInt32(hdfEducationId.Text);
            }
            if (!string.IsNullOrEmpty(hdfPoliticLevelId.Text))
            {
                record.PoliticLevelId = Convert.ToInt32(hdfPoliticLevelId.Text);
            }
            if (!string.IsNullOrEmpty(hdfLanguageLevelId.Text))
            {
                record.LanguageLevelId = Convert.ToInt32(hdfLanguageLevelId.Text);
            }
            if (!string.IsNullOrEmpty(hdfITLevelId.Text))
            {
                record.ITLevelId = Convert.ToInt32(hdfITLevelId.Text);
            }
            if (!DatetimeHelper.IsNull(CPVJoinedDate.SelectedDate))
            {
                record.CPVJoinedDate = CPVJoinedDate.SelectedDate;
            }
            if (!DatetimeHelper.IsNull(CPVOfficialJoinedDate.SelectedDate))
            {
                record.CPVOfficialJoinedDate = CPVOfficialJoinedDate.SelectedDate;
            }
            record.CPVJoinedPlace = txtCPVJoinedPlace.Text;
            if (!string.IsNullOrEmpty(hdfCPVPositionId.Text))
            {
                record.CPVPositionId = Convert.ToInt32(hdfCPVPositionId.Text);
            }
            if (!string.IsNullOrEmpty(hdfVYUPositionId.Text))
            {
                record.VYUPositionId = Convert.ToInt32(hdfVYUPositionId.Text);
            }
            if (!DatetimeHelper.IsNull(ArmyJoinedDate.SelectedDate))
            {
                record.ArmyJoinedDate = ArmyJoinedDate.SelectedDate;
            }
            if (!DatetimeHelper.IsNull(ArmyLeftDate.SelectedDate))
            {
                record.ArmyLeftDate = ArmyLeftDate.SelectedDate;
            }
            if (!string.IsNullOrEmpty(hdfPositionId.Text))
            {
                record.PositionId = Convert.ToInt32(hdfPositionId.Text);
            }
            if (!string.IsNullOrEmpty(hdfArmyLevelId.Text))
            {
                record.ArmyLevelId = Convert.ToInt32(hdfArmyLevelId.Text);
            }
            if (!string.IsNullOrEmpty(hdfHealthStatusId.Text))
            {
                record.HealthStatusId = Convert.ToInt32(hdfHealthStatusId.Text);
            }
            record.BloodGroup = cbxBloodGroup.SelectedIndex >= 0 ? cbxBloodGroup.SelectedItem.Value : "";
            if (!string.IsNullOrEmpty(txtHeight.Text))
            {
                record.Height = Convert.ToDecimal(txtHeight.Text);
            }
            if (!string.IsNullOrEmpty(txtWeight.Text))
            {
                record.Weight = Convert.ToDecimal(txtWeight.Text);
            }
            record.DepartmentId = !string.IsNullOrEmpty(hdfDepartmentId.Text) ? Convert.ToInt32(hdfDepartmentId.Text) : CurrentUser.RootDepartment.Id;
            record.RankWounded  = txtRankWounded.Text;
            if (!string.IsNullOrEmpty(hdfFamilyPolicyId.Text))
            {
                record.FamilyPolicyId = Convert.ToInt32(hdfFamilyPolicyId.Text);
            }
            if (!string.IsNullOrEmpty(txtIDNumber.Text))
            {
                record.IDNumber = txtIDNumber.Text;
            }
            if (!DatetimeHelper.IsNull(IDIssueDate.SelectedDate))
            {
                record.IDIssueDate = IDIssueDate.SelectedDate;
            }
            if (!string.IsNullOrEmpty(hdfIDIssuePlaceId.Text))
            {
                record.IDIssuePlaceId = Convert.ToInt32(hdfIDIssuePlaceId.Text);
            }
            if (!DatetimeHelper.IsNull(VYUJoinedDate.SelectedDate))
            {
                record.VYUJoinedDate = VYUJoinedDate.SelectedDate;
            }
            record.VYUJoinedPlace  = txtVYUJoinedPlace.Text;
            record.PersonalTaxCode = txtPersonalTaxCode.Text;
            var workStatus = CatalogController.GetAll("cat_WorkStatus", null, ((int)RecordStatus.Working).ToString(),
                                                      null, false, null, 1);

            if (workStatus.Count > 0)
            {
                record.WorkStatusId = workStatus.First().Id;
            }

            record.WorkEmail          = txtWorkEmail.Text;
            record.PersonalEmail      = txtPersonalEmail.Text;
            record.CellPhoneNumber    = txtCellPhoneNumber.Text;
            record.HomePhoneNumber    = txtHomePhoneNumber.Text;
            record.WorkPhoneNumber    = txtWorkPhoneNumber.Text;
            record.InsuranceNumber    = txtInsuranceNumber.Text;
            record.ContactPersonName  = txtContactPersonName.Text;
            record.ContactPhoneNumber = txtContactPhoneNumber.Text;
            record.ContactRelation    = txtContactRelation.Text;
            record.ContactAddress     = txtContactAddress.Text;
            if (!string.IsNullOrEmpty(hdfInputIndustryId.Text))
            {
                record.IndustryId = Convert.ToInt32(hdfInputIndustryId.Text);
            }
            if (!DatetimeHelper.IsNull(InsuranceIssueDate.SelectedDate))
            {
                record.InsuranceIssueDate = InsuranceIssueDate.SelectedDate;
            }
            //other info
            if (!string.IsNullOrEmpty(hdfConstructionId.Text))
            {
                record.ConstructionId = Convert.ToInt32(hdfConstructionId.Text);
            }
            if (!string.IsNullOrEmpty(hdfTeamId.Text))
            {
                record.TeamId = Convert.ToInt32(hdfTeamId.Text);
            }
            if (!string.IsNullOrEmpty(txtStudyWorkingDay.Text))
            {
                record.StudyWorkingDay = Convert.ToInt32(txtStudyWorkingDay.Text);
            }
            //Thoi gian thu viec
            if (!string.IsNullOrEmpty(txtProbationWorkingTime.Text))
            {
                record.ProbationWorkingTime = Convert.ToInt32(txtProbationWorkingTime.Text);
            }
            if (!string.IsNullOrEmpty(hdfWorkingFormId.Text))
            {
                record.WorkingFormId = (WorkingFormType)Enum.Parse(typeof(WorkingFormType), hdfWorkingFormId.Text);
            }
            if (!string.IsNullOrEmpty(hdfWorkLocationId.Text))
            {
                record.WorkLocationId = Convert.ToInt32(hdfWorkLocationId.Text);
            }
            if (!string.IsNullOrEmpty(txtGraduationYear.Text))
            {
                record.GraduationYear = Convert.ToInt32(txtGraduationYear.Text);
            }
            if (!string.IsNullOrEmpty(hdfGraduationTypeId.Text))
            {
                record.GraduationTypeId = Convert.ToInt32(hdfGraduationTypeId.Text);
            }
            if (!string.IsNullOrEmpty(hdfUniversityId.Text))
            {
                record.UniversityId = Convert.ToInt32(hdfUniversityId.Text);
            }
            if (!DatetimeHelper.IsNull(dfUnionJoinedDate.SelectedDate))
            {
                record.UnionJoinedDate = dfUnionJoinedDate.SelectedDate;
            }
            if (!string.IsNullOrEmpty(hdfUnionPosition.Text))
            {
                record.UnionJoinedPositionId = Convert.ToInt32(hdfUnionPosition.Text);
            }
            //BHYT
            record.HealthInsuranceNumber = txtHealthInsuranceNumber.Text;
            if (!DatetimeHelper.IsNull(dfHealthJoinedDate.SelectedDate))
            {
                record.HealthJoinedDate = dfHealthJoinedDate.SelectedDate;
            }

            if (!DatetimeHelper.IsNull(dfHealthExpiredDate.SelectedDate))
            {
                record.HealthExpiredDate = dfHealthExpiredDate.SelectedDate;
            }

            // Tuyển dụng
            if (!string.IsNullOrEmpty(txtCandidateCode.Text))
            {
                candidate.Code = txtCandidateCode.Text;
            }
            if (!string.IsNullOrEmpty(txtDesiredSalary.Text))
            {
                candidate.DesiredSalary = Convert.ToDecimal(txtDesiredSalary.Text);
            }
            if (!string.IsNullOrEmpty(hdfRequiredRecruitmentId.Text))
            {
                candidate.RequiredRecruitmentId = Convert.ToInt32(hdfRequiredRecruitmentId.Text);
            }
            if (!DatetimeHelper.IsNull(dfApplyDate.SelectedDate))
            {
                candidate.ApplyDate = dfApplyDate.SelectedDate;
            }
            if (!string.IsNullOrEmpty(hdfCandidateStatus.Text))
            {
                candidate.Status = (CandidateType)Enum.Parse(typeof(CandidateType), hdfCandidateStatus.Text);
            }

            // Kiểm tra tuyển dụng
            if (int.TryParse(hdfType.Text, out var type) && type == 1)
            {
                record.Type = RecordType.Candidate;
            }

            var recordId   = 0;
            var limitCount = SystemConfigController.GetLimitPackage();

            if (Request.QueryString["Event"] == "Edit" || !string.IsNullOrEmpty(hdfRecordId.Text))
            {
                //Update Ho so
                record.Id = Convert.ToInt32(hdfRecordId.Text);
                RecordController.Update(record);
                recordId = record.Id;

                // lấy record id thông tin ứng viên
                candidate.RecordId = Convert.ToInt32(hdfRecordId.Text);

                Dialog.ShowNotification("Cập nhật dữ liệu thành công!");
            }
            else
            {
                var recordCount = RecordController.GetCountRecords((int)RecordType.Default);
                //check over limit package
                if (recordCount > limitCount)
                {
                    Dialog.Alert("Gói phần mềm bạn đăng ký đã vượt quá giới hạn. Vui lòng đăng ký thêm để sử dụng.");
                    return;
                }
                //create
                var newRecord = RecordController.Create(record);
                recordId = newRecord.Id;

                // lấy record id thông tin ứng viên
                candidate.RecordId = newRecord.Id;

                Dialog.ShowNotification("Thêm mới thành công!");
            }

            // tuyển dụng
            if (type == 1)
            {
                if (int.TryParse(hdfCandidateId.Text, out var result) && result > 0)
                {
                    candidate.Id = result;
                    //update
                    CandidateController.Update(candidate);
                }
                else
                {
                    //count candidate exist
                    var recordCount = RecordController.GetCountRecords((int)RecordType.Candidate);
                    //check over limit package
                    if (recordCount > limitCount)
                    {
                        Dialog.Alert("Gói phần mềm bạn đăng ký đã vượt quá giới hạn. Vui lòng đăng ký thêm để sử dụng.");
                        return;
                    }
                    //create
                    CandidateController.Create(candidate);
                }
            }

            // Save family
            SaveGridFamilyRelationship(e.ExtraParams["jsonFamilyRelationship"], recordId);
            if (e.ExtraParams["Reset"] == "True")
            {
                hdfRecordId.Text = "";
                GridPanelFamilyRelationship.Reload();
            }
            //set tabindex default
            tab_Employee.SetActiveTab(panelEmployee);
            //reset
            hdfImagePerson.Reset();
            fufUploadControl.Reset();
            img_anhdaidien.ImageUrl = "";
            //close window
            wdInput.Hide();

            UserControlClose();
        }