ปรับapi กับโครงสร้างใหม่

This commit is contained in:
Kittapath 2024-05-27 09:09:39 +07:00
parent 7e1c4cb4d9
commit 54661ffbcb
37 changed files with 1542 additions and 233 deletions

View file

@ -224,37 +224,44 @@ namespace BMA.EHR.Recruit.Service.Services
var profile = await _contextMetadata.Profiles
.Include(x => x.Salaries)
.FirstOrDefaultAsync(p => p.CitizenId == candidate.CitizenId);
var CitizenProvince = await _contextMetadata.Provinces.Where(x => x.Name == candidate.CitizenCardIssuer).FirstOrDefaultAsync();
var RegistProvince = candidate.Addresses.FirstOrDefault() == null ? null : await _contextMetadata.Provinces.Where(x => x.Name == candidate.Addresses.FirstOrDefault().Province).FirstOrDefaultAsync();
var RegistDistrict = candidate.Addresses.FirstOrDefault() == null ? null : await _contextMetadata.Districts.Where(x => x.Name == candidate.Addresses.FirstOrDefault().District && x.Province.Name == candidate.Addresses.FirstOrDefault().Province).FirstOrDefaultAsync();
var RegistSubDistrict = candidate.Addresses.FirstOrDefault() == null ? null : await _contextMetadata.SubDistricts.Where(x => x.Name == candidate.Addresses.FirstOrDefault().Amphur && x.District.Name == candidate.Addresses.FirstOrDefault().District && x.District.Province.Name == candidate.Addresses.FirstOrDefault().Province).FirstOrDefaultAsync();
var CurrentProvince = candidate.Addresses.FirstOrDefault() == null ? null : await _contextMetadata.Provinces.Where(x => x.Name == candidate.Addresses.FirstOrDefault().Moo1).FirstOrDefaultAsync();
var CurrentDistrict = candidate.Addresses.FirstOrDefault() == null ? null : await _contextMetadata.Districts.Where(x => x.Name == candidate.Addresses.FirstOrDefault().District1 && x.Province.Name == candidate.Addresses.FirstOrDefault().Moo1).FirstOrDefaultAsync();
var CurrentSubDistrict = candidate.Addresses.FirstOrDefault() == null ? null : await _contextMetadata.SubDistricts.Where(x => x.Name == candidate.Addresses.FirstOrDefault().Amphur1 && x.District.Name == candidate.Addresses.FirstOrDefault().District1 && x.District.Province.Name == candidate.Addresses.FirstOrDefault().Moo1).FirstOrDefaultAsync();
var placementProfile = new PlacementProfile
{
Placement = placement,
PositionCandidate = await _contextMetadata.PositionPaths.FirstOrDefaultAsync(x => x.Name == candidate.PositionName),
Prefix = await _contextMetadata.Prefixes.FirstOrDefaultAsync(x => x.Name == candidate.Prefix),
Prefix = candidate.Prefix,
Firstname = candidate.FirstName,
Lastname = candidate.LastName,
Gender = await _contextMetadata.Genders.FirstOrDefaultAsync(x => x.Name == candidate.Gendor),
Gender = candidate.Gendor,
Nationality = candidate.National,
Race = candidate.Race,
Religion = await _contextMetadata.Religions.FirstOrDefaultAsync(x => x.Name == candidate.Religion),
Religion = candidate.Religion,
DateOfBirth = candidate.DateOfBirth,
Relationship = await _contextMetadata.Relationships.FirstOrDefaultAsync(x => x.Name == candidate.Marry),
Relationship = candidate.Marry,
// Email = candidate.Email,
CitizenId = candidate.CitizenId,
// CitizenDistrict = await _contextMetadata.Districts.FirstOrDefaultAsync(x => x.Id == candidate.CitizenDistrictId),
CitizenProvince = await _contextMetadata.Provinces.FirstOrDefaultAsync(x => x.Name == candidate.CitizenCardIssuer),
CitizenProvinceId = CitizenProvince == null ? null : CitizenProvince.Id.ToString(),
CitizenDate = candidate.CitizenCardExpireDate,
Telephone = candidate.Addresses.FirstOrDefault() == null ? null : candidate.Addresses.FirstOrDefault().Telephone,
MobilePhone = candidate.Addresses.FirstOrDefault() == null ? null : candidate.Addresses.FirstOrDefault().Mobile,
// Knowledge = candidate.Knowledge,
RegistAddress = $"{Address}{Moo}{Soi}{Road}",
RegistProvince = candidate.Addresses.FirstOrDefault() == null ? null : await _contextMetadata.Provinces.FirstOrDefaultAsync(x => x.Name == candidate.Addresses.FirstOrDefault().Province),
RegistDistrict = candidate.Addresses.FirstOrDefault() == null ? null : await _contextMetadata.Districts.FirstOrDefaultAsync(x => x.Name == candidate.Addresses.FirstOrDefault().District && x.Province.Name == candidate.Addresses.FirstOrDefault().Province),
RegistSubDistrict = candidate.Addresses.FirstOrDefault() == null ? null : await _contextMetadata.SubDistricts.FirstOrDefaultAsync(x => x.Name == candidate.Addresses.FirstOrDefault().Amphur && x.District.Name == candidate.Addresses.FirstOrDefault().District && x.District.Province.Name == candidate.Addresses.FirstOrDefault().Province),
RegistProvinceId = RegistProvince == null ? null : RegistProvince.Id.ToString(),
RegistDistrictId = RegistDistrict == null ? null : RegistDistrict.Id.ToString(),
RegistSubDistrictId = RegistSubDistrict == null ? null : RegistSubDistrict.Id.ToString(),
RegistZipCode = candidate.Addresses.FirstOrDefault() == null ? null : candidate.Addresses.FirstOrDefault().ZipCode,
RegistSame = false,
CurrentAddress = $"{Address1}{Moo1}{Soi1}{Road1}",
CurrentProvince = candidate.Addresses.FirstOrDefault() == null ? null : await _contextMetadata.Provinces.FirstOrDefaultAsync(x => x.Name == candidate.Addresses.FirstOrDefault().Moo1),
CurrentDistrict = candidate.Addresses.FirstOrDefault() == null ? null : await _contextMetadata.Districts.FirstOrDefaultAsync(x => x.Name == candidate.Addresses.FirstOrDefault().District1 && x.Province.Name == candidate.Addresses.FirstOrDefault().Moo1),
CurrentSubDistrict = candidate.Addresses.FirstOrDefault() == null ? null : await _contextMetadata.SubDistricts.FirstOrDefaultAsync(x => x.Name == candidate.Addresses.FirstOrDefault().Amphur1 && x.District.Name == candidate.Addresses.FirstOrDefault().District1 && x.District.Province.Name == candidate.Addresses.FirstOrDefault().Moo1),
CurrentProvinceId = CurrentProvince == null ? null : CurrentProvince.Id.ToString(),
CurrentDistrictId = CurrentDistrict == null ? null : CurrentDistrict.Id.ToString(),
CurrentSubDistrictId = CurrentSubDistrict == null ? null : CurrentSubDistrict.Id.ToString(),
CurrentZipCode = candidate.Addresses.FirstOrDefault() == null ? null : candidate.Addresses.FirstOrDefault().ZipCode1,
Marry = candidate.Marry.Contains("สมรส"),
// MarryPrefix = await _contextMetadata.Prefixes.FirstOrDefaultAsync(x => x.Id == candidate.MarryPrefixId),