diff --git a/BMA.EHR.Retirement.Service/Controllers/RetirementController.cs b/BMA.EHR.Retirement.Service/Controllers/RetirementController.cs index 660d16ef..3657f662 100644 --- a/BMA.EHR.Retirement.Service/Controllers/RetirementController.cs +++ b/BMA.EHR.Retirement.Service/Controllers/RetirementController.cs @@ -891,33 +891,29 @@ namespace BMA.EHR.Retirement.Service.Controllers return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden); } - // var profile = await _context.Profiles - // .FirstOrDefaultAsync(x => x.Id == req.ProfileId); - // if (profile == null) - // return Error(GlobalMessages.DataNotFound, 404); - var retire = await _context.RetirementPeriods - .Include(x => x.RetirementPeriodHistorys) - .Include(x => x.RetirementProfiles) - // .ThenInclude(x => x.Profile) .FirstOrDefaultAsync(x => x.Id == retireId); if (retire == null) return Error(GlobalMessages.RetirementNotFound, 404); - if (retire.RetirementProfiles.Where(x => x.profileId == req.ProfileId).Count() > 0) + + var retireProfile = await _context.RetirementProfiles + .FirstOrDefaultAsync(x => x.profileId == req.ProfileId && x.RetirementPeriod.Id == retireId); + if (retireProfile != null) return Error("บุคคลนี้ได้ทำการเลือกไว้อยู่แล้ว"); - foreach (var retire_profile in retire.RetirementProfiles) - { - retire_profile.Order++; - retire_profile.LastUpdateFullName = FullName ?? "System Administrator"; - retire_profile.LastUpdateUserId = UserId ?? ""; - retire_profile.LastUpdatedAt = DateTime.Now; - } - var num = 0; + var numRaw = 1; + // var num = 1; var profileRawCount = await _context.RetirementRawProfiles - .CountAsync(x => x.RetirementPeriod.Id == retireId); + .Where(x => x.RetirementPeriod.Id == retireId) + .OrderByDescending(x => x.Order) + .FirstOrDefaultAsync(); + if (profileRawCount != null) + numRaw = profileRawCount.Order + 1; - // var old_retire = retire.RetirementProfiles.OrderByDescending(x => x.Order).FirstOrDefault(); + // var old_retire = await _context.RetirementProfiles + // .Where(x => x.RetirementPeriod.Id == retireId) + // .OrderByDescending(x => x.Order) + // .FirstOrDefaultAsync(); // if (old_retire != null) // num = old_retire.Order + 1; @@ -928,7 +924,7 @@ namespace BMA.EHR.Retirement.Service.Controllers { var data = new RetirementProfile { - Order = num, + Order = numRaw, Remove = "ADD", RetirementPeriod = retire, CreatedFullName = FullName ?? "System Administrator", @@ -940,7 +936,7 @@ namespace BMA.EHR.Retirement.Service.Controllers }; var dataRaw = new RetirementRawProfile { - Order = profileRawCount + 1, + Order = numRaw, Remove = "ADD", RetirementPeriod = retire, CreatedFullName = FullName ?? "System Administrator", @@ -1045,7 +1041,7 @@ namespace BMA.EHR.Retirement.Service.Controllers { var data = new RetirementProfile { - Order = num, + Order = numRaw, Remove = "ADD", RetirementPeriod = retire, CreatedFullName = FullName ?? "System Administrator", @@ -1057,7 +1053,7 @@ namespace BMA.EHR.Retirement.Service.Controllers }; var dataRaw = new RetirementRawProfile { - Order = profileRawCount + 1, + Order = numRaw, Remove = "ADD", RetirementPeriod = retire, CreatedFullName = FullName ?? "System Administrator",