From a969441f02f5acd31a06e166bd5c24d28e939d8a Mon Sep 17 00:00:00 2001 From: Kittapath Date: Tue, 10 Oct 2023 16:27:54 +0700 Subject: [PATCH] =?UTF-8?q?=E0=B9=80=E0=B8=9E=E0=B8=B4=E0=B9=88=E0=B8=A1?= =?UTF-8?q?=E0=B9=80=E0=B8=87=E0=B8=B7=E0=B9=88=E0=B8=AD=E0=B8=99=E0=B9=84?= =?UTF-8?q?=E0=B8=82=E0=B9=80=E0=B8=8A=E0=B9=87=E0=B8=84=E0=B8=84=E0=B8=B3?= =?UTF-8?q?=E0=B8=AA=E0=B8=B1=E0=B9=88=E0=B8=87=E0=B9=81=E0=B8=AA=E0=B8=94?= =?UTF-8?q?=E0=B8=87=E0=B8=AA=E0=B8=B1=E0=B8=87=E0=B8=81=E0=B8=B1=E0=B8=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Commands/CommandReportRepository.cs | 18 +- .../Models/Placement/PlacementAppointment.cs | 5 + .../PlacementAppointmentEmployeeController.cs | 167 ++++++++++-------- ...electPositionAppointmentEmployeeRequest.cs | 10 ++ 4 files changed, 118 insertions(+), 82 deletions(-) create mode 100644 BMA.EHR.Placement.Service/Requests/PersonSelectPositionAppointmentEmployeeRequest.cs diff --git a/BMA.EHR.Application/Repositories/Commands/CommandReportRepository.cs b/BMA.EHR.Application/Repositories/Commands/CommandReportRepository.cs index 5a6d0949..62fcf2d8 100644 --- a/BMA.EHR.Application/Repositories/Commands/CommandReportRepository.cs +++ b/BMA.EHR.Application/Repositories/Commands/CommandReportRepository.cs @@ -87,7 +87,7 @@ namespace BMA.EHR.Application.Repositories.Commands Seq = r.Sequence.ToString().ToThaiNumber(), CitizenId = r.CitizenId, FullName = $"{r.Prefix}{r.FirstName} {r.LastName}", - Oc = _organizationCommonRepository.GetOrganizationNameFullPath(p.OrganizationPosition!.Organization!.Id, false, false, "/"), + Oc = p.OrganizationPosition == null || p.OrganizationPosition!.Organization == null ? "" : _organizationCommonRepository.GetOrganizationNameFullPath(p.OrganizationPosition!.Organization!.Id, false, false, "/"), PositionName = p.PositionPath == null ? "" : p.PositionPath!.Name, PositionLevel = p.PositionLevel == null ? "" : p.PositionLevel.Name, PositionType = p.PositionType == null ? "" : p.PositionType.Name, @@ -141,7 +141,7 @@ namespace BMA.EHR.Application.Repositories.Commands Seq = r.Sequence.ToString().ToThaiNumber(), CitizenId = r.CitizenId, FullName = $"{r.Prefix}{r.FirstName} {r.LastName}", - Oc = _organizationCommonRepository.GetOrganizationNameFullPath(p.OrganizationPosition!.Organization!.Id, false, false, "/"), + Oc = p.OrganizationPosition == null || p.OrganizationPosition!.Organization == null ? "" : _organizationCommonRepository.GetOrganizationNameFullPath(p.OrganizationPosition!.Organization!.Id, false, false, "/"), PositionName = p.PositionPath == null ? "" : p.PositionPath!.Name, PositionLevel = p.PositionLevel == null ? "" : p.PositionLevel.Name, PositionType = p.PositionType == null ? "" : p.PositionType.Name, @@ -207,7 +207,7 @@ namespace BMA.EHR.Application.Repositories.Commands OldPositionType = pf.PositionType == null ? "" : pf.PositionType.Name, OldPositionNumber = pf.PosNo == null ? "" : pf.PosNo.Name.ToThaiNumber(), OldSalary = pf.Salaries == null || pf.Salaries.Count == 0 ? "" : pf.Salaries.OrderByDescending(x => x.Order).FirstOrDefault().Amount.Value.ToNumericNoDecimalText().ToThaiNumber(), - NewOc = _organizationCommonRepository.GetOrganizationNameFullPath(p.OrganizationPosition!.Organization!.Id, false, false, "/"), + NewOc = p.OrganizationPosition == null || p.OrganizationPosition!.Organization == null ? "" : _organizationCommonRepository.GetOrganizationNameFullPath(p.OrganizationPosition!.Organization!.Id, false, false, "/"), NewPositionName = p.PositionPath == null ? "" : p.PositionPath!.Name, NewPositionLevel = p.PositionLevel == null ? "" : p.PositionLevel.Name, NewPositionType = p.PositionType == null ? "" : p.PositionType.Name, @@ -271,7 +271,7 @@ namespace BMA.EHR.Application.Repositories.Commands OldPositionType = pf.PositionType == null ? "" : pf.PositionType.Name, OldPositionNumber = pf.PosNo == null ? "" : pf.PosNo.Name.ToThaiNumber(), OldSalary = pf.Salaries == null || pf.Salaries.Count == 0 ? "" : pf.Salaries.OrderByDescending(x => x.Order).FirstOrDefault().Amount.Value.ToNumericNoDecimalText().ToThaiNumber(), - NewOc = _organizationCommonRepository.GetOrganizationNameFullPath(p.OrganizationPosition!.Organization!.Id, false, false, "/"), + NewOc = p.OrganizationPosition == null || p.OrganizationPosition!.Organization == null ? "" : _organizationCommonRepository.GetOrganizationNameFullPath(p.OrganizationPosition!.Organization!.Id, false, false, "/"), NewPositionName = p.PositionPath == null ? "" : p.PositionPath!.Name, NewPositionLevel = p.PositionLevel == null ? "" : p.PositionLevel.Name, NewPositionType = p.PositionType == null ? "" : p.PositionType.Name, @@ -336,7 +336,7 @@ namespace BMA.EHR.Application.Repositories.Commands // OldSalary = pf.Salaries == null || pf.Salaries.Count == 0 ? "" : pf.Salaries.OrderByDescending(x => x.Order).FirstOrDefault().Amount.Value.ToNumericNoDecimalText().ToThaiNumber(), OldSalary = p.AmountOld == null ? "" : p.AmountOld.Value.ToNumericNoDecimalText().ToThaiNumber(), OldSalaryDate = pf.Salaries == null || pf.Salaries.Count == 0 ? "" : pf.Salaries.OrderByDescending(x => x.Order).FirstOrDefault().Date.Value.ToThaiShortDate2().ToThaiNumber(), - NewOc = _organizationCommonRepository.GetOrganizationNameFullPath(p.OrganizationPosition!.Organization!.Id, false, false, "/"), + NewOc = p.OrganizationPosition == null || p.OrganizationPosition!.Organization == null ? "" : _organizationCommonRepository.GetOrganizationNameFullPath(p.OrganizationPosition!.Organization!.Id, false, false, "/"), NewPositionName = p.PositionPath == null ? "" : p.PositionPath!.Name, NewPositionLevel = p.PositionLevel == null ? "" : p.PositionLevel.Name, NewPositionType = p.PositionType == null ? "" : p.PositionType.Name, @@ -401,7 +401,7 @@ namespace BMA.EHR.Application.Repositories.Commands OldPositionNumber = pf.PosNo == null ? "" : pf.PosNo.Name.ToThaiNumber(), // OldSalary = pf.Salaries == null || pf.Salaries.Count == 0 ? "" : pf.Salaries.OrderByDescending(x => x.Order).FirstOrDefault().Amount.Value.ToNumericNoDecimalText().ToThaiNumber(), OldSalary = p.AmountOld == null ? "" : p.AmountOld.Value.ToNumericNoDecimalText().ToThaiNumber(), - NewOc = _organizationCommonRepository.GetOrganizationNameFullPath(p.OrganizationPosition!.Organization!.Id, false, false, "/"), + NewOc = p.OrganizationPosition == null || p.OrganizationPosition!.Organization == null ? "" : _organizationCommonRepository.GetOrganizationNameFullPath(p.OrganizationPosition!.Organization!.Id, false, false, "/"), NewPositionName = p.PositionPath == null ? "" : p.PositionPath!.Name, NewPositionLevel = p.PositionLevel == null ? "" : p.PositionLevel.Name, NewPositionType = p.PositionType == null ? "" : p.PositionType.Name, @@ -470,7 +470,7 @@ namespace BMA.EHR.Application.Repositories.Commands OldPositionNumber = p.Profile.PosNo == null ? "" : p.Profile.PosNo.Name.ToThaiNumber(), // OldSalary = p.Profile.Salaries == null || p.Profile.Salaries.Count == 0 ? "" : p.Profile.Salaries.OrderByDescending(x => x.Order).FirstOrDefault().Amount.Value.ToNumericNoDecimalText().ToThaiNumber(), OldSalary = p.AmountOld == null ? "" : p.AmountOld.Value.ToNumericNoDecimalText().ToThaiNumber(), - NewOc = p.OrganizationPosition == null ? "" : _organizationCommonRepository.GetOrganizationNameFullPath(p.OrganizationPosition!.Organization!.Id, false, false, "/"), + NewOc = p.OrganizationPosition == null || p.OrganizationPosition!.Organization == null ? "" : _organizationCommonRepository.GetOrganizationNameFullPath(p.OrganizationPosition!.Organization!.Id, false, false, "/"), NewPositionName = p.PositionPath == null ? "" : p.PositionPath!.Name, NewPositionLevel = p.PositionLevel == null ? "" : p.PositionLevel.Name, NewPositionType = p.PositionType == null ? "" : p.PositionType.Name, @@ -540,7 +540,7 @@ namespace BMA.EHR.Application.Repositories.Commands OldPositionNumber = p.Profile.PosNo == null ? "" : p.Profile.PosNo.Name.ToThaiNumber(), // OldSalary = p.Profile.Salaries == null || p.Profile.Salaries.Count == 0 ? "" : p.Profile.Salaries.OrderByDescending(x => x.Order).FirstOrDefault().Amount.Value.ToNumericNoDecimalText().ToThaiNumber(), OldSalary = p.AmountOld == null ? "" : p.AmountOld.Value.ToNumericNoDecimalText().ToThaiNumber(), - NewOc = p.OrganizationPosition == null ? "" : _organizationCommonRepository.GetOrganizationNameFullPath(p.OrganizationPosition!.Organization!.Id, false, false, "/"), + NewOc = p.OrganizationPosition == null || p.OrganizationPosition!.Organization == null ? "" : _organizationCommonRepository.GetOrganizationNameFullPath(p.OrganizationPosition!.Organization!.Id, false, false, "/"), NewPositionName = p.PositionPath == null ? "" : p.PositionPath!.Name, NewPositionLevel = p.PositionLevel == null ? "" : p.PositionLevel.Name, NewPositionType = p.PositionType == null ? "" : p.PositionType.Name, @@ -716,7 +716,7 @@ namespace BMA.EHR.Application.Repositories.Commands OldPositionType = p.PositionTypeOld, OldPositionNumber = p.PositionNumberOld.ToThaiNumber(), OldSalary = p.AmountOld == null ? "" : p.AmountOld.Value.ToNumericNoDecimalText().ToThaiNumber(), - NewOc = _organizationCommonRepository.GetOrganizationNameFullPath(p.OrganizationPosition!.Organization!.Id, false, false, "/"), + NewOc = p.OrganizationPosition == null || p.OrganizationPosition!.Organization == null ? "" : _organizationCommonRepository.GetOrganizationNameFullPath(p.OrganizationPosition!.Organization!.Id, false, false, "/"), NewPositionName = p.PositionPath == null ? "" : p.PositionPath!.Name, NewPositionLevel = p.PositionLevel == null ? "" : p.PositionLevel.Name, NewPositionType = p.PositionType == null ? "" : p.PositionType.Name, diff --git a/BMA.EHR.Domain/Models/Placement/PlacementAppointment.cs b/BMA.EHR.Domain/Models/Placement/PlacementAppointment.cs index 910ba152..535e074e 100644 --- a/BMA.EHR.Domain/Models/Placement/PlacementAppointment.cs +++ b/BMA.EHR.Domain/Models/Placement/PlacementAppointment.cs @@ -5,6 +5,7 @@ using BMA.EHR.Domain.Models.MetaData; using BMA.EHR.Domain.Models.Organizations; using BMA.EHR.Domain.Models.Commands.Core; using BMA.EHR.Domain.Models.HR; +using BMA.EHR.Domain.Models.OrganizationEmployee; namespace BMA.EHR.Domain.Models.Placement { @@ -82,6 +83,10 @@ namespace BMA.EHR.Domain.Models.Placement public CommandType? CommandType { get; set; } [Comment("ดำรงตำแหน่งในระดับปัจจุบันเมื่อ")] public DateTime? PositionDate { get; set; } + public OrgEmployee? OrgEmployee { get; set; } + public PositionEmployeeStatus? PositionEmployeeStatus { get; set; } + public PositionEmployeeLine? PositionEmployeeLine { get; set; } + public PositionEmployeePosition? PositionEmployeePosition { get; set; } public virtual List PlacementAppointmentDocs { get; set; } = new List(); } } diff --git a/BMA.EHR.Placement.Service/Controllers/PlacementAppointmentEmployeeController.cs b/BMA.EHR.Placement.Service/Controllers/PlacementAppointmentEmployeeController.cs index 01834a1a..ea3fc00f 100644 --- a/BMA.EHR.Placement.Service/Controllers/PlacementAppointmentEmployeeController.cs +++ b/BMA.EHR.Placement.Service/Controllers/PlacementAppointmentEmployeeController.cs @@ -78,18 +78,26 @@ namespace BMA.EHR.Placement.Service.Controllers p.Amount, p.RecruitDate, - PositionNumber = p.PositionNumber == null ? null : p.PositionNumber.Name, - PositionPath = p.PositionPath == null ? null : p.PositionPath.Name, - PositionPathSide = p.PositionPathSide == null ? null : p.PositionPathSide.Name, - PositionType = p.PositionType == null ? null : p.PositionType.Name, - PositionLine = p.PositionLine == null ? null : p.PositionLine.Name, - PositionLevel = p.PositionLevel == null ? null : p.PositionLevel.Name, - PosNoId = p.PositionNumber == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : p.PositionNumber.Id, - PositionId = p.PositionPath == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : p.PositionPath.Id, - PositionPathSideId = p.PositionPathSide == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : p.PositionPathSide.Id, - PositionTypeId = p.PositionType == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : p.PositionType.Id, - PositionLineId = p.PositionLine == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : p.PositionLine.Id, - PositionLevelId = p.PositionLevel == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : p.PositionLevel.Id, + // PositionNumber = p.PositionNumber == null ? null : p.PositionNumber.Name, + // PositionPath = p.PositionPath == null ? null : p.PositionPath.Name, + // PositionPathSide = p.PositionPathSide == null ? null : p.PositionPathSide.Name, + // PositionType = p.PositionType == null ? null : p.PositionType.Name, + // PositionLine = p.PositionLine == null ? null : p.PositionLine.Name, + // PositionLevel = p.PositionLevel == null ? null : p.PositionLevel.Name, + // PosNoId = p.PositionNumber == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : p.PositionNumber.Id, + // PositionId = p.PositionPath == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : p.PositionPath.Id, + // PositionPathSideId = p.PositionPathSide == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : p.PositionPathSide.Id, + // PositionTypeId = p.PositionType == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : p.PositionType.Id, + // PositionLineId = p.PositionLine == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : p.PositionLine.Id, + // PositionLevelId = p.PositionLevel == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : p.PositionLevel.Id, + + OrgEmployeeId = p.OrgEmployee == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : p.OrgEmployee.Id, + PositionEmployeeStatusId = p.PositionEmployeeStatus == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : p.PositionEmployeeStatus.Id, + PositionEmployeeLineId = p.PositionEmployeeLine == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : p.PositionEmployeeLine.Id, + PositionEmployeePositionId = p.PositionEmployeePosition == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : p.PositionEmployeePosition.Id, + PositionEmployeeStatus = p.PositionEmployeeStatus == null ? null : p.PositionEmployeeStatus.Name, + PositionEmployeeLine = p.PositionEmployeeLine == null ? null : p.PositionEmployeeLine.Name, + PositionEmployeePosition = p.PositionEmployeePosition == null ? null : p.PositionEmployeePosition.Name, OrganizationPositionId = p.OrganizationPosition == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : p.OrganizationPosition.Id, OrganizationName = p.OrganizationPosition == null ? null : (p.OrganizationPosition.Organization == null ? null : (p.OrganizationPosition.Organization.OrganizationOrganization == null ? null : p.OrganizationPosition.Organization.OrganizationOrganization.Name)),//// @@ -148,12 +156,13 @@ namespace BMA.EHR.Placement.Service.Controllers p.Status, p.Amount, p.RecruitDate, - PosNoId = p.PositionNumber == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : p.PositionNumber.Id, - PositionId = p.PositionPath == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : p.PositionPath.Id, - PositionPathSideId = p.PositionPathSide == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : p.PositionPathSide.Id, - PositionTypeId = p.PositionType == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : p.PositionType.Id, - PositionLineId = p.PositionLine == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : p.PositionLine.Id, - PositionLevelId = p.PositionLevel == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : p.PositionLevel.Id, + OrgEmployeeId = p.OrgEmployee == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : p.OrgEmployee.Id, + PositionEmployeeStatusId = p.PositionEmployeeStatus == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : p.PositionEmployeeStatus.Id, + PositionEmployeeLineId = p.PositionEmployeeLine == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : p.PositionEmployeeLine.Id, + PositionEmployeePositionId = p.PositionEmployeePosition == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : p.PositionEmployeePosition.Id, + // PositionTypeId = p.PositionType == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : p.PositionType.Id, + // PositionLineId = p.PositionLine == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : p.PositionLine.Id, + // PositionLevelId = p.PositionLevel == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : p.PositionLevel.Id, OrganizationPositionId = p.OrganizationPosition == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : p.OrganizationPosition.Id, p.CreatedAt, p.Reason, @@ -202,12 +211,13 @@ namespace BMA.EHR.Placement.Service.Controllers data.Status, data.Amount, data.RecruitDate, - data.PosNoId, - data.PositionId, - data.PositionPathSideId, - data.PositionTypeId, - data.PositionLineId, - data.PositionLevelId, + // data.PosNoId, + // data.PositionId, + // data.PositionPathSideId, + data.OrgEmployeeId, + data.PositionEmployeeStatusId, + data.PositionEmployeeLineId, + data.PositionEmployeePositionId, data.OrganizationPositionId, data.CreatedAt, data.Reason, @@ -325,68 +335,79 @@ namespace BMA.EHR.Placement.Service.Controllers /// ไม่ได้ Login เข้าระบบ /// เมื่อเกิดข้อผิดพลาดในการทำงาน [HttpPut("position/{id:length(36)}")] - public async Task> UpdatePositionPlacementAppointment([FromBody] PersonSelectPositionAppointmentRequest req, Guid id) + public async Task> UpdatePositionPlacementAppointment([FromBody] PersonSelectPositionAppointmentEmployeeRequest req, Guid id) { var uppdated = await _context.PlacementAppointments .Where(x => x.Profile.ProfileType == "employee" && x.Profile.EmployeeClass == "perm") .FirstOrDefaultAsync(x => x.Id == id); if (uppdated == null) return Error(GlobalMessages.PlacementAppointmentNotFound, 404); - if (req.PosNoId != null) - { - var save_posNo = await _context.PositionNumbers.FindAsync(req.PosNoId); - if (save_posNo == null) - return Error(GlobalMessages.PositionPosNoNotFound, 404); - uppdated.PositionNumber = save_posNo; + // if (req.PosNoId != null) + // { + // var save_posNo = await _context.PositionNumbers.FindAsync(req.PosNoId); + // if (save_posNo == null) + // return Error(GlobalMessages.PositionPosNoNotFound, 404); + // uppdated.PositionNumber = save_posNo; - var save_orgPosition = await _context.OrganizationPositions.FirstOrDefaultAsync(x => x.PositionNumber == save_posNo); - if (save_orgPosition == null) - return Error(GlobalMessages.PositionPosNoNotFound, 404); - uppdated.OrganizationPosition = save_orgPosition; - } + // var save_orgPosition = await _context.OrganizationPositions.FirstOrDefaultAsync(x => x.PositionNumber == save_posNo); + // if (save_orgPosition == null) + // return Error(GlobalMessages.PositionPosNoNotFound, 404); + // uppdated.OrganizationPosition = save_orgPosition; + // } - if (req.PositionId != null) - { - var save = await _context.PositionPaths.FindAsync(req.PositionId); - if (save == null) - return Error(GlobalMessages.PositionPathNotFound, 404); - uppdated.PositionPath = save; - } + // if (req.PositionId != null) + // { + // var save = await _context.PositionPaths.FindAsync(req.PositionId); + // if (save == null) + // return Error(GlobalMessages.PositionPathNotFound, 404); + // uppdated.PositionPath = save; + // } - if (req.PositionLevelId != null) - { - var save = await _context.PositionLevels.FindAsync(req.PositionLevelId); - if (save == null) - return Error(GlobalMessages.PositionLevelNotFound, 404); - uppdated.PositionLevel = save; - } + // if (req.PositionLevelId != null) + // { + // var save = await _context.PositionLevels.FindAsync(req.PositionLevelId); + // if (save == null) + // return Error(GlobalMessages.PositionLevelNotFound, 404); + // uppdated.PositionLevel = save; + // } - if (req.PositionLineId != null) - { - var save = await _context.PositionLines.FindAsync(req.PositionLineId); - if (save == null) - return Error(GlobalMessages.PositionLineNotFound, 404); - uppdated.PositionLine = save; - } + // if (req.PositionLineId != null) + // { + // var save = await _context.PositionLines.FindAsync(req.PositionLineId); + // if (save == null) + // return Error(GlobalMessages.PositionLineNotFound, 404); + // uppdated.PositionLine = save; + // } - if (req.PositionPathSideId != null) - { - var save = await _context.PositionPathSides.FindAsync(req.PositionPathSideId); - if (save == null) - return Error(GlobalMessages.PositionPathSideNotFound, 404); - uppdated.PositionPathSide = save; - } + // if (req.PositionPathSideId != null) + // { + // var save = await _context.PositionPathSides.FindAsync(req.PositionPathSideId); + // if (save == null) + // return Error(GlobalMessages.PositionPathSideNotFound, 404); + // uppdated.PositionPathSide = save; + // } - if (req.PositionTypeId != null) - { - var save = await _context.PositionTypes.FindAsync(req.PositionTypeId); - if (save == null) - return Error(GlobalMessages.PositionTypeNotFound, 404); - uppdated.PositionType = save; - } + // if (req.PositionTypeId != null) + // { + // var save = await _context.PositionTypes.FindAsync(req.PositionTypeId); + // if (save == null) + // return Error(GlobalMessages.PositionTypeNotFound, 404); + // uppdated.PositionType = save; + // } + var organizationEmployee = await _context.OrganizationEmployees + .Include(x => x.PositionEmployeeStatus) + .Include(x => x.PositionEmployeeLine) + .Include(x => x.PositionEmployeePosition) + .FirstOrDefaultAsync(x => x.Id == req.OrganizationEmployeeId); + if (organizationEmployee == null) + return Error(GlobalMessages.OrganizationEmployeeNotFound, 404); - uppdated.Amount = req.Amount; - uppdated.RecruitDate = req.RecruitDate; + uppdated.OrgEmployee = organizationEmployee; + uppdated.PositionEmployeeStatus = organizationEmployee.PositionEmployeeStatus; + uppdated.PositionEmployeeLine = organizationEmployee.PositionEmployeeLine; + uppdated.PositionEmployeePosition = organizationEmployee.PositionEmployeePosition; + // uppdated.Amount = req.Amount; + // uppdated.RecruitDate = req.RecruitDate; uppdated.Status = "PENDING"; uppdated.LastUpdateFullName = FullName ?? "System Administrator"; uppdated.LastUpdateUserId = UserId ?? ""; diff --git a/BMA.EHR.Placement.Service/Requests/PersonSelectPositionAppointmentEmployeeRequest.cs b/BMA.EHR.Placement.Service/Requests/PersonSelectPositionAppointmentEmployeeRequest.cs new file mode 100644 index 00000000..075eb837 --- /dev/null +++ b/BMA.EHR.Placement.Service/Requests/PersonSelectPositionAppointmentEmployeeRequest.cs @@ -0,0 +1,10 @@ +using BMA.EHR.Domain.Models.MetaData; +using Microsoft.EntityFrameworkCore; + +namespace BMA.EHR.Placement.Service.Requests +{ + public class PersonSelectPositionAppointmentEmployeeRequest + { + public Guid? OrganizationEmployeeId { get; set; } + } +} \ No newline at end of file