diff --git a/Controllers/RecruitController.cs b/Controllers/RecruitController.cs index 703f497..710a6dd 100644 --- a/Controllers/RecruitController.cs +++ b/Controllers/RecruitController.cs @@ -27,6 +27,7 @@ using System.Net.WebSockets; using System.Security.Claims; using System.Text; using static System.Runtime.InteropServices.JavaScript.JSType; +using System.Globalization; namespace BMA.EHR.Recruit.Service.Controllers { @@ -1071,77 +1072,121 @@ namespace BMA.EHR.Recruit.Service.Controllers if (cell1 == "" || cell1 == null) break; var r = new Models.Recruits.Recruit(); - r.ExamId = workSheet?.Cells[row, 0]?.GetValue(); - r.CitizenId = workSheet?.Cells[row, 11]?.GetValue(); - r.Prefix = workSheet?.Cells[row, 4]?.GetValue() == "อื่น ๆ" ? workSheet?.Cells[row, 5]?.GetValue() : workSheet?.Cells[row, 4]?.GetValue(); - r.FirstName = workSheet?.Cells[row, 6]?.GetValue(); - r.LastName = workSheet?.Cells[row, 7]?.GetValue(); - r.Gendor = workSheet?.Cells[row, 97]?.GetValue(); - r.National = workSheet?.Cells[row, 8]?.GetValue().IsNull(""); - r.Race = workSheet?.Cells[row, 9999]?.GetValue().IsNull(""); - r.Religion = workSheet?.Cells[row, 9]?.GetValue().IsNull(""); - r.DateOfBirth = Convert.ToDateTime(workSheet?.Cells[row, 10]?.GetValue().ToDateTime(DateTimeFormat.Ymd, "-")); - r.Marry = workSheet?.Cells[row, 9999]?.GetValue(); + r.ExamId = workSheet?.Cells[row, 1]?.GetValue() ?? ""; + r.CitizenId = workSheet?.Cells[row, 12]?.GetValue() ?? ""; + r.Prefix = workSheet?.Cells[row, 5]?.GetValue() == "อื่น ๆ" ? workSheet?.Cells[row, 6]?.GetValue() ?? "" : workSheet?.Cells[row, 5]?.GetValue() ?? ""; + r.FirstName = workSheet?.Cells[row, 7]?.GetValue() ?? ""; + r.LastName = workSheet?.Cells[row, 8]?.GetValue() ?? ""; + r.Gendor = workSheet?.Cells[row, 98]?.GetValue() ?? ""; + r.National = workSheet?.Cells[row, 9]?.GetValue() ?? ""; + r.Race = workSheet?.Cells[row, 9999]?.GetValue() ?? ""; + r.Religion = workSheet?.Cells[row, 10]?.GetValue() ?? ""; + r.DateOfBirth = DateTime.TryParseExact(workSheet?.Cells[row, 11]?.GetValue()?.Trim(), "dd/MM/yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None, out var dob) && dob.Year > 2500 ? dob.AddYears(-543) : DateTime.MinValue; + r.Marry = workSheet?.Cells[row, 9999]?.GetValue() ?? ""; r.Isspecial = "N"; - r.CitizenCardIssuer = workSheet?.Cells[row, 9999]?.GetValue(); + r.CitizenCardIssuer = workSheet?.Cells[row, 9999]?.GetValue() ?? ""; r.CitizenCardExpireDate = Convert.ToDateTime(workSheet?.Cells[row, 9999]?.GetValue().ToDateTime(DateTimeFormat.Ymd, "-")); r.ApplyDate = (DateTime)workSheet?.Cells[row, 9999]?.GetValue(); - r.PositionName = workSheet?.Cells[row, 2]?.GetValue().IsNull(""); - r.PositionType = workSheet?.Cells[row, 9999]?.GetValue().IsNull(""); - r.PositionLevel = workSheet?.Cells[row, 9999]?.GetValue().IsNull(""); + r.PositionName = workSheet?.Cells[row, 3]?.GetValue() ?? ""; + r.PositionType = workSheet?.Cells[row, 9999]?.GetValue() ?? ""; + r.PositionLevel = workSheet?.Cells[row, 9999]?.GetValue() ?? ""; + r.CreatedAt = DateTime.Now; + r.CreatedUserId = UserId ?? ""; + r.CreatedFullName = FullName ?? "System Administrator"; + r.LastUpdatedAt = DateTime.Now; + r.LastUpdateUserId = UserId ?? ""; + r.LastUpdateFullName = FullName ?? "System Administrator"; - // address - r.Addresses.Add(new RecruitAddress() + // education + r.Educations.Add(new RecruitEducation() { - Address = $"{(workSheet?.Cells[row, 48]?.GetValue() ?? "")} {(workSheet?.Cells[row, 49]?.GetValue() ?? "")}", - Moo = workSheet?.Cells[row, 50]?.GetValue() ?? "", - Soi = workSheet?.Cells[row, 51]?.GetValue() ?? "", - Road = workSheet?.Cells[row, 52]?.GetValue() ?? "", - District = workSheet?.Cells[row, 53]?.GetValue() ?? "", - Amphur = workSheet?.Cells[row, 54]?.GetValue() ?? "", - Province = workSheet?.Cells[row, 55]?.GetValue() ?? "", - ZipCode = workSheet?.Cells[row, 56]?.GetValue() ?? "", - Telephone = workSheet?.Cells[row, 57]?.GetValue() ?? "", - Mobile = workSheet?.Cells[row, 57]?.GetValue() ?? "", - Address1 = $"{(workSheet?.Cells[row, 60]?.GetValue() ?? "")} {(workSheet?.Cells[row, 61]?.GetValue() ?? "")}", - Moo1 = workSheet?.Cells[row, 62]?.GetValue() ?? "", - Soi1 = workSheet?.Cells[row, 63]?.GetValue() ?? "", - Road1 = workSheet?.Cells[row, 64]?.GetValue() ?? "", - District1 = workSheet?.Cells[row, 65]?.GetValue() ?? "", - Amphur1 = workSheet?.Cells[row, 66]?.GetValue() ?? "", - Province1 = workSheet?.Cells[row, 67]?.GetValue() ?? "", - ZipCode1 = workSheet?.Cells[row, 68]?.GetValue() ?? "", - }); - - // payment - r.Payments.Add(new RecruitPayment() - { - PaymentId = workSheet?.Cells[row, 103]?.GetValue() ?? "", - CompanyCode = workSheet?.Cells[row, 104]?.GetValue() ?? "", - TextFile = workSheet?.Cells[row, 105]?.GetValue() ?? "", - BankCode = workSheet?.Cells[row, 106]?.GetValue() ?? "", - AccountNumber = workSheet?.Cells[row, 107]?.GetValue() ?? "", - TransDate = workSheet?.Cells[row, 108]?.GetValue() ?? "", - TransTime = workSheet?.Cells[row, 109]?.GetValue() ?? "", - CustomerName = workSheet?.Cells[row, 110]?.GetValue() ?? "", - RefNo1 = workSheet?.Cells[row, 111]?.GetValue() ?? "", - TermBranch = workSheet?.Cells[row, 112]?.GetValue() ?? "", - TellerId = workSheet?.Cells[row, 113]?.GetValue() ?? "", - CreditDebit = workSheet?.Cells[row, 114]?.GetValue() ?? "", - PaymentType = workSheet?.Cells[row, 115]?.GetValue(), - ChequeNo = workSheet?.Cells[row, 116]?.GetValue() ?? "", - Amount = (decimal)workSheet?.Cells[row, 117]?.GetValue(), - ChqueBankCode = workSheet?.Cells[row, 118]?.GetValue() ?? "" + Degree = workSheet?.Cells[row, 18]?.GetValue() ?? "", + Major = workSheet?.Cells[row, 19]?.GetValue() == "อื่น ๆ" ? workSheet?.Cells[row, 20]?.GetValue() ?? "" : workSheet?.Cells[row, 19]?.GetValue() ?? "", + MajorGroupId = workSheet?.Cells[row, 9999]?.GetValue() ?? "", + MajorGroupName = workSheet?.Cells[row, 9999]?.GetValue() ?? "", + University = workSheet?.Cells[row, 21]?.GetValue() == "อื่น ๆ" ? workSheet?.Cells[row, 22]?.GetValue() ?? "" : workSheet?.Cells[row, 21]?.GetValue() ?? "", + GPA = (double)workSheet?.Cells[row, 26]?.GetValue(), + Specialist = workSheet?.Cells[row, 9999]?.GetValue() ?? "", + HighDegree = workSheet?.Cells[row, 27]?.GetValue() ?? "", + BachelorDate = DateTime.TryParseExact(workSheet?.Cells[row, 25]?.GetValue()?.Trim(), "dd/MM/yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None, out var bachelorDob) && bachelorDob.Year > 2500 ? bachelorDob.AddYears(-543) : DateTime.MinValue, + CreatedAt = DateTime.Now, + CreatedUserId = UserId ?? "", + CreatedFullName = FullName ?? "System Administrator", + LastUpdatedAt = DateTime.Now, + LastUpdateUserId = UserId ?? "", + LastUpdateFullName = FullName ?? "System Administrator" }); // occupation r.Occupations.Add(new RecruitOccupation() { - Occupation = workSheet?.Cells[row, 32]?.GetValue() ?? "", - Position = workSheet?.Cells[row, 36]?.GetValue() ?? "", - Workplace = $"{(workSheet?.Cells[row, 35]?.GetValue() ?? "")} {(workSheet?.Cells[row, 34]?.GetValue() ?? "")}", + Occupation = workSheet?.Cells[row, 33]?.GetValue() == "อื่น ๆ" ? workSheet?.Cells[row, 34]?.GetValue() ?? "" : workSheet?.Cells[row, 33]?.GetValue() ?? "", + Position = workSheet?.Cells[row, 37]?.GetValue() ?? "", + Workplace = $"{(workSheet?.Cells[row, 36]?.GetValue() ?? "")} {(workSheet?.Cells[row, 35]?.GetValue() ?? "")}", Telephone = workSheet?.Cells[row, 9999]?.GetValue() ?? "", WorkAge = workSheet?.Cells[row, 9999]?.GetValue() ?? "", + CreatedAt = DateTime.Now, + CreatedUserId = UserId ?? "", + CreatedFullName = FullName ?? "System Administrator", + LastUpdatedAt = DateTime.Now, + LastUpdateUserId = UserId ?? "", + LastUpdateFullName = FullName ?? "System Administrator" + }); + + // address + r.Addresses.Add(new RecruitAddress() + { + Address = $"{(workSheet?.Cells[row, 49]?.GetValue() ?? "")} {(workSheet?.Cells[row, 50]?.GetValue() ?? "")}", + Moo = workSheet?.Cells[row, 51]?.GetValue() ?? "", + Soi = workSheet?.Cells[row, 52]?.GetValue() ?? "", + Road = workSheet?.Cells[row, 53]?.GetValue() ?? "", + District = workSheet?.Cells[row, 54]?.GetValue() ?? "", + Amphur = workSheet?.Cells[row, 55]?.GetValue() ?? "", + Province = workSheet?.Cells[row, 56]?.GetValue() ?? "", + ZipCode = workSheet?.Cells[row, 57]?.GetValue() ?? "", + Telephone = workSheet?.Cells[row, 58]?.GetValue() ?? "", + Mobile = workSheet?.Cells[row, 9999]?.GetValue() ?? "", + Address1 = $"{(workSheet?.Cells[row, 61]?.GetValue() ?? "")} {(workSheet?.Cells[row, 62]?.GetValue() ?? "")}", + Moo1 = workSheet?.Cells[row, 63]?.GetValue() ?? "", + Soi1 = workSheet?.Cells[row, 64]?.GetValue() ?? "", + Road1 = workSheet?.Cells[row, 65]?.GetValue() ?? "", + District1 = workSheet?.Cells[row, 66]?.GetValue() ?? "", + Amphur1 = workSheet?.Cells[row, 67]?.GetValue() ?? "", + Province1 = workSheet?.Cells[row, 68]?.GetValue() ?? "", + ZipCode1 = workSheet?.Cells[row, 69]?.GetValue() ?? "", + CreatedAt = DateTime.Now, + CreatedUserId = UserId ?? "", + CreatedFullName = FullName ?? "System Administrator", + LastUpdatedAt = DateTime.Now, + LastUpdateUserId = UserId ?? "", + LastUpdateFullName = FullName ?? "System Administrator" + }); + + // payment + r.Payments.Add(new RecruitPayment() + { + PaymentId = workSheet?.Cells[row, 104]?.GetValue() ?? "", + CompanyCode = workSheet?.Cells[row, 105]?.GetValue() ?? "", + TextFile = workSheet?.Cells[row, 106]?.GetValue() ?? "", + BankCode = workSheet?.Cells[row, 107]?.GetValue() ?? "", + AccountNumber = workSheet?.Cells[row, 108]?.GetValue() ?? "", + TransDate = workSheet?.Cells[row, 109]?.GetValue() ?? "", + TransTime = workSheet?.Cells[row, 110]?.GetValue() ?? "", + CustomerName = workSheet?.Cells[row, 111]?.GetValue() ?? "", + RefNo1 = workSheet?.Cells[row, 112]?.GetValue() ?? "", + TermBranch = workSheet?.Cells[row, 113]?.GetValue() ?? "", + TellerId = workSheet?.Cells[row, 114]?.GetValue() ?? "", + CreditDebit = workSheet?.Cells[row, 115]?.GetValue() ?? "", + PaymentType = workSheet?.Cells[row, 116]?.GetValue(), + ChequeNo = workSheet?.Cells[row, 117]?.GetValue() ?? "", + Amount = (decimal)workSheet?.Cells[row, 118]?.GetValue(), + ChqueBankCode = workSheet?.Cells[row, 119]?.GetValue() ?? "", + CreatedAt = DateTime.Now, + CreatedUserId = UserId ?? "", + CreatedFullName = FullName ?? "System Administrator", + LastUpdatedAt = DateTime.Now, + LastUpdateUserId = UserId ?? "", + LastUpdateFullName = FullName ?? "System Administrator" }); // certificate @@ -1150,20 +1195,13 @@ namespace BMA.EHR.Recruit.Service.Controllers CertificateNo = workSheet?.Cells[row, 9999]?.GetValue() ?? "", Description = workSheet?.Cells[row, 9999]?.GetValue() ?? "", IssueDate = Convert.ToDateTime(workSheet?.Cells[row, 9999]?.GetValue().ToDateTime(DateTimeFormat.Ymd, "-")), - ExpiredDate = Convert.ToDateTime(workSheet?.Cells[row, 9999]?.GetValue().ToDateTime(DateTimeFormat.Ymd, "-")) - }); - - r.Educations.Add(new RecruitEducation() - { - Degree = workSheet?.Cells[row, 17]?.GetValue() ?? "", - Major = workSheet?.Cells[row, 9999]?.GetValue() ?? "", - MajorGroupId = workSheet?.Cells[row, 9999]?.GetValue() ?? "", - MajorGroupName = workSheet?.Cells[row, 9999]?.GetValue() ?? "", - University = workSheet?.Cells[row, 20]?.GetValue() == "อื่น ๆ" ? workSheet?.Cells[row, 21]?.GetValue() : workSheet?.Cells[row, 20]?.GetValue(), - GPA = (double)workSheet?.Cells[row, 25]?.GetValue(), - Specialist = workSheet?.Cells[row, 9999]?.GetValue() ?? "", - HighDegree = workSheet?.Cells[row, 26]?.GetValue() ?? "", - BachelorDate = Convert.ToDateTime(workSheet?.Cells[row, 24]?.GetValue().ToDateTime(DateTimeFormat.Ymd, "-")) + ExpiredDate = Convert.ToDateTime(workSheet?.Cells[row, 9999]?.GetValue().ToDateTime(DateTimeFormat.Ymd, "-")), + CreatedAt = DateTime.Now, + CreatedUserId = UserId ?? "", + CreatedFullName = FullName ?? "System Administrator", + LastUpdatedAt = DateTime.Now, + LastUpdateUserId = UserId ?? "", + LastUpdateFullName = FullName ?? "System Administrator" }); r.RecruitImport = imported;