/// <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(); }