/// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void ImportFile(object sender, DirectEventArgs e) { try { var workbook = new WorkBook(); if (fileExcel.HasFile) { var path = UploadFile(fileExcel, Constant.PathTemplate); if (path == null) { return; } // Read data from excel workbook.readXLSX(Path.Combine(Server.MapPath("~/"), Constant.PathTemplate, path)); if (!txtSheetName.IsEmpty) { workbook.Sheet = workbook.findSheetByName(txtSheetName.Text); } // Export to datatable var dataTable = workbook.ExportDataTable(1, //first row 0, //first col workbook.LastRow, //last row workbook.LastCol + 1, //last col true, //first row as header true //convert to DateTime object if it match date pattern ); // count success create var successRecords = new List <int>(); foreach (DataRow row in dataTable.Rows) { // Check employee code var employeeCode = row["EmployeeCode"].ToString().Trim(); var idNumber = row["IDNumber"].ToString().Trim(); if (!string.IsNullOrEmpty(employeeCode)) { var recordList = RecordController.CheckExistIDNumberAndEmployeeCode(null, null, employeeCode); if (recordList != null && recordList.Count > 0) { continue; } } // Check id number if (!string.IsNullOrEmpty(idNumber)) { var recordList = RecordController.CheckExistIDNumberAndEmployeeCode(null, idNumber, null); if (recordList != null && recordList.Count > 0) { continue; } } // Create new record var record = new hr_Record { // Set default work status WorkStatusId = CatalogWorkStatusController.GetByGroup(RecordStatus.Working).Id }; foreach (DataColumn col in dataTable.Columns) { if (string.IsNullOrEmpty(row[col].ToString())) { continue; } var condition = " [Name] = N'{0}' ".FormatWith(row[col]); cat_Location location; switch (col.ColumnName) { case nameof(hr_Record.FullName): record.FullName = row[col].ToString(); // 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(); break; case nameof(hr_Record.Sex): record.Sex = row[col].ToString().Equals("Nam"); break; case nameof(hr_Record.BirthPlaceWardId): location = cat_LocationServices.GetByCondition(condition); record.BirthPlaceWardId = location.Id; break; case nameof(hr_Record.BirthPlaceDistrictId): location = cat_LocationServices.GetByCondition(condition); record.BirthPlaceDistrictId = location.Id; break; case nameof(hr_Record.BirthPlaceProvinceId): location = cat_LocationServices.GetByCondition(condition); record.BirthPlaceProvinceId = location.Id; break; case nameof(hr_Record.HometownWardId): location = cat_LocationServices.GetByCondition(condition); record.HometownWardId = location.Id; break; case nameof(hr_Record.HometownDistrictId): location = cat_LocationServices.GetByCondition(condition); record.HometownDistrictId = location.Id; break; case nameof(hr_Record.HometownProvinceId): location = cat_LocationServices.GetByCondition(condition); record.HometownProvinceId = location.Id; break; default: // TODO : need create util function var reg = @"\(([^)]*)\)"; var propVal = row[col]; if (Regex.IsMatch(propVal.ToString(), reg)) { propVal = Regex.Match(propVal.ToString(), reg).Groups[1].Value; } //get the property information based on the type var propInfo = record.GetType().GetProperty(col.ColumnName); //find the property type if (propInfo == null) { break; } var propType = propInfo.PropertyType; //equivalent to the specified object. if (propType.IsEnum) { propVal = Enum.ToObject(propType, int.Parse(propVal.ToString())); } if (propType.Name == typeof(Nullable <>).Name) { if (Nullable.GetUnderlyingType(propType) == typeof(DateTime)) { if (!DateTime.TryParseExact(row[col].ToString(), "dd/MM/yyyy", CultureInfo.CurrentCulture, DateTimeStyles.None, out var date)) { break; } propVal = Convert.ChangeType(date, typeof(DateTime)); } else { propVal = Convert.ChangeType(propVal, Nullable.GetUnderlyingType(propType)); } } else { propVal = Convert.ChangeType(propVal, propType); } //Set the value of the property propInfo.SetValue(record, propVal, null); break; } } // add record hr_RecordServices.Create(record); successRecords.Add(dataTable.Rows.IndexOf(row)); } Dialog.Alert("Thêm thành công " + successRecords.Count + " bản ghi"); grpImportExcel.Reload(); } else { Dialog.Alert("Bạn chưa chọn tệp tin đính kèm. Vui lòng chọn."); } } catch (Exception ex) { Dialog.ShowError("Đã có lỗi xảy ra: " + ex.Message); } }
/// <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(); } }
/// <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(); }
protected void btnSave_Click(object sender, DirectEventArgs e) { try { var util = new Util(); var hoso = new RecordController(); var hs = new hr_Record(); hs.EmployeeCode = txtEmployeeCode.Text; if (!string.IsNullOrEmpty(txtEmployeeCode.Text.Trim())) { List <RecordModel> 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())) { List <RecordModel> 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; } } hs.FullName = txtFullName.Text; if (!string.IsNullOrEmpty(hdfEmployeeTypeId.Text)) { hs.EmployeeTypeId = Convert.ToInt32(hdfEmployeeTypeId.Text); } if (!string.IsNullOrEmpty(hdfDepartmentId.Text)) { hs.DepartmentId = Convert.ToInt32(hdfDepartmentId.Text); } if (!string.IsNullOrEmpty(hdfManagementDepartmentId.Text)) { hs.ManagementDepartmentId = Convert.ToInt32(hdfManagementDepartmentId.Text); } // lấy họ và đệm từ họ tên var position = hs.FullName.LastIndexOf(' '); if (position == -1) { hs.Name = hs.FullName; } else { hs.Name = hs.FullName.Substring(position + 1).Trim(); } if (!util.IsDateNull(dfBirthDate.SelectedDate)) { hs.BirthDate = dfBirthDate.SelectedDate; } if (!string.IsNullOrEmpty(cbxSex.SelectedItem.Value) && cbxSex.SelectedItem.Value == "M") { hs.Sex = true; } else { hs.Sex = false; } hs.Address = txt_Address.Text; if (!string.IsNullOrEmpty(txtIDNumber.Text)) { hs.IDNumber = txtIDNumber.Text; } hs.PersonalEmail = txtPersonalEmail.Text; hs.CellPhoneNumber = txtCellPhoneNumber.Text; RecordController.InsertRecord(hs); Dialog.ShowNotification("Thêm mới thành công!"); ClearForm(); } catch (Exception ex) { Dialog.ShowError(ex.Message); } }
protected void ImportFile(object sender, DirectEventArgs e) { try { DataTable dataTable = JSON.Deserialize <DataTable>(hdfDataTable.Text); // count success create var successRecords = new List <int>(); foreach (DataRow row in dataTable.Rows) { // Check employee code var employeeCode = row["EmployeeCode"].ToString().Trim(); var idNumber = row["IDNumber"].ToString().Trim(); if (!string.IsNullOrEmpty(employeeCode)) { var recordList = RecordController.CheckExistIDNumberAndEmployeeCode(null, null, employeeCode); if (recordList != null && recordList.Count > 0) { continue; } } // Check id number if (!string.IsNullOrEmpty(idNumber)) { var recordList = RecordController.CheckExistIDNumberAndEmployeeCode(null, idNumber, null); if (recordList != null && recordList.Count > 0) { continue; } } // Create new record var record = new hr_Record(); foreach (DataColumn col in dataTable.Columns) { if (string.IsNullOrEmpty(row[col].ToString())) { continue; } var condition = " [Name] LIKE N'%{0}%' ".FormatWith(row[col]); var location = new cat_Location(); switch (col.ColumnName) { case nameof(hr_Record.FullName): record.FullName = row[col].ToString(); // 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(); break; case nameof(hr_Record.Sex): record.Sex = row[col].ToString().Equals("Nam"); break; case nameof(hr_Record.BirthPlaceWardId): location = cat_LocationServices.GetByCondition(condition); record.BirthPlaceWardId = location.Id; break; case nameof(hr_Record.BirthPlaceDistrictId): location = cat_LocationServices.GetByCondition(condition); record.BirthPlaceDistrictId = location.Id; break; case nameof(hr_Record.BirthPlaceProvinceId): location = cat_LocationServices.GetByCondition(condition); record.BirthPlaceProvinceId = location.Id; break; case nameof(hr_Record.HometownWardId): location = cat_LocationServices.GetByCondition(condition); record.HometownWardId = location.Id; break; case nameof(hr_Record.HometownDistrictId): location = cat_LocationServices.GetByCondition(condition); record.HometownDistrictId = location.Id; break; case nameof(hr_Record.HometownProvinceId): location = cat_LocationServices.GetByCondition(condition); record.HometownProvinceId = location.Id; break; default: var reg = @"\(([^)]*)\)"; var propVal = row[col]; if (Regex.IsMatch(propVal.ToString(), reg)) { propVal = Regex.Match(propVal.ToString(), reg).Groups[1].Value; } //get the property information based on the type var propInfo = record.GetType().GetProperty(col.ColumnName); //find the property type var propType = propInfo.PropertyType; //equivalent to the specified object. //if (propType.Name == typeof(Nullable<>).Name) //{ // if (Nullable.GetUnderlyingType(propType) == typeof(DateTime)) // { // var result = new DateTime(); // if (double.TryParse(propVal.ToString(), out var value)) // { // result = DateTime.FromOADate(value); // } // propVal = Convert.ChangeType(result, typeof(DateTime)); // } // else // { // propVal = Convert.ChangeType(propVal, Nullable.GetUnderlyingType(propType)); // } //} //else //{ // propVal = Convert.ChangeType(propVal, propType); //} propVal = propType.Name == typeof(Nullable <>).Name ? Convert.ChangeType(propVal, Nullable.GetUnderlyingType(propType)) : Convert.ChangeType(propVal, propType); //Set the value of the property propInfo.SetValue(record, propVal, null); break; } } // add record hr_RecordServices.Create(record); successRecords.Add(dataTable.Rows.IndexOf(row)); } Dialog.Alert("Thêm thành công " + successRecords.Count + " bản ghi"); grpImportExcel.Reload(); } catch (Exception ex) { Dialog.ShowError("Đã có lỗi xảy ra: " + ex.Message); } }