lookup province, district, subDistrict IDs with parent filtering
All checks were successful
Build & Deploy on Dev / build (push) Successful in 44s
All checks were successful
Build & Deploy on Dev / build (push) Successful in 44s
This commit is contained in:
parent
6f9cde1811
commit
5752f35712
3 changed files with 33 additions and 6 deletions
|
|
@ -11,6 +11,9 @@ namespace BMA.EHR.MetaData.Service.Models
|
|||
[Required, MaxLength(150), Column(Order = 1), Comment("เขต/อำเภอ")]
|
||||
public string name { get; set; } = string.Empty;
|
||||
|
||||
[Column(Order = 2), Comment("รหัสอ้างอิงจังหวัด")]
|
||||
public Guid? provinceId { get; set; } = null;
|
||||
|
||||
// [Column(Order = 2), Comment("สถานะการใช้งาน")]
|
||||
// public bool IsActive { get; set; } = true;
|
||||
|
||||
|
|
|
|||
|
|
@ -14,6 +14,9 @@ namespace BMA.EHR.MetaData.Service.Models
|
|||
[MaxLength(10), Column(Order = 2), Comment("รหัสไปรษณีย์")]
|
||||
public string? zipCode { get; set; } = null;
|
||||
|
||||
[Column(Order = 3), Comment("รหัสอ้างอิงอำเภอ")]
|
||||
public Guid? districtId { get; set; } = null;
|
||||
|
||||
// [Column(Order = 3), Comment("สถานะการใช้งาน")]
|
||||
// public bool IsActive { get; set; } = true;
|
||||
|
||||
|
|
|
|||
|
|
@ -341,6 +341,27 @@ namespace BMA.EHR.Recruit.Services
|
|||
{
|
||||
positionNameWithoutLevel = positionNameWithoutLevel.Replace(posLevelName, "").Trim();
|
||||
}
|
||||
// lookup province, district, subDistrict IDs with parent filtering
|
||||
var registProvinceId = provincesCache.FirstOrDefault(x => x.name == firstAddress?.Province)?.Id;
|
||||
var registDistrictId = districtsCache.FirstOrDefault(x => x.name == firstAddress?.Amphur && x.provinceId == registProvinceId)?.Id;
|
||||
var registSubDistrictId = subDistrictsCache.FirstOrDefault(x => x.name == firstAddress?.District && x.districtId == registDistrictId)?.Id;
|
||||
var currentProvinceId = provincesCache.FirstOrDefault(x => x.name == firstAddress?.Province1)?.Id;
|
||||
var currentDistrictId = districtsCache.FirstOrDefault(x => x.name == firstAddress?.Amphur1 && x.provinceId == currentProvinceId)?.Id;
|
||||
var currentSubDistrictId = subDistrictsCache.FirstOrDefault(x => x.name == firstAddress?.District1 && x.districtId == currentDistrictId)?.Id;
|
||||
|
||||
// log warning when address lookup fails
|
||||
if (registProvinceId == null && !string.IsNullOrWhiteSpace(firstAddress?.Province))
|
||||
Console.WriteLine($"[WARN] Regist province not found: {firstAddress?.Province}");
|
||||
if (registDistrictId == null && !string.IsNullOrWhiteSpace(firstAddress?.Amphur))
|
||||
Console.WriteLine($"[WARN] Regist district not found: {firstAddress?.Amphur}, Province: {firstAddress?.Province}");
|
||||
if (registSubDistrictId == null && !string.IsNullOrWhiteSpace(firstAddress?.District))
|
||||
Console.WriteLine($"[WARN] Regist subdistrict not found: {firstAddress?.District}, District: {firstAddress?.Amphur}");
|
||||
if (currentProvinceId == null && !string.IsNullOrWhiteSpace(firstAddress?.Province1))
|
||||
Console.WriteLine($"[WARN] Current province not found: {firstAddress?.Province1}");
|
||||
if (currentDistrictId == null && !string.IsNullOrWhiteSpace(firstAddress?.Amphur1))
|
||||
Console.WriteLine($"[WARN] Current district not found: {firstAddress?.Amphur1}, Province: {firstAddress?.Province1}");
|
||||
if (currentSubDistrictId == null && !string.IsNullOrWhiteSpace(firstAddress?.District1))
|
||||
Console.WriteLine($"[WARN] Current subdistrict not found: {firstAddress?.District1}, District: {firstAddress?.Amphur1}");
|
||||
|
||||
var placementProfile = new PlacementProfile
|
||||
{
|
||||
|
|
@ -363,15 +384,15 @@ namespace BMA.EHR.Recruit.Services
|
|||
Telephone = firstAddress?.Telephone ?? "",
|
||||
MobilePhone = firstAddress?.Mobile ?? "",
|
||||
RegistAddress = registAddress ?? "",
|
||||
RegistProvinceId = provincesCache.FirstOrDefault(x => x.name == firstAddress?.Province)?.Id,
|
||||
RegistDistrictId = districtsCache.FirstOrDefault(x => x.name == firstAddress?.Amphur)?.Id,
|
||||
RegistSubDistrictId = subDistrictsCache.FirstOrDefault(x => x.name == firstAddress?.District)?.Id,
|
||||
RegistProvinceId = registProvinceId,
|
||||
RegistDistrictId = registDistrictId,
|
||||
RegistSubDistrictId = registSubDistrictId,
|
||||
RegistZipCode = firstAddress?.ZipCode ?? "",
|
||||
RegistSame = false,
|
||||
CurrentAddress = currentAddress,
|
||||
CurrentProvinceId = provincesCache.FirstOrDefault(x => x.name == firstAddress?.Province1)?.Id,
|
||||
CurrentDistrictId = districtsCache.FirstOrDefault(x => x.name == firstAddress?.Amphur1)?.Id,
|
||||
CurrentSubDistrictId = subDistrictsCache.FirstOrDefault(x => x.name == firstAddress?.District1)?.Id,
|
||||
CurrentProvinceId = currentProvinceId,
|
||||
CurrentDistrictId = currentDistrictId,
|
||||
CurrentSubDistrictId = currentSubDistrictId,
|
||||
CurrentZipCode = firstAddress?.ZipCode1,
|
||||
Marry = candidate.Marry?.Contains("สมรส") ?? false,
|
||||
OccupationPositionType = "other",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue