diff --git a/BMA.EHR.Insignia/Controllers/InsigniaRequestController.cs b/BMA.EHR.Insignia/Controllers/InsigniaRequestController.cs
index 4bce56a2..d3d81065 100644
--- a/BMA.EHR.Insignia/Controllers/InsigniaRequestController.cs
+++ b/BMA.EHR.Insignia/Controllers/InsigniaRequestController.cs
@@ -3139,58 +3139,35 @@ namespace BMA.EHR.Insignia.Service.Controllers
///
/// อัพเดทสถานะ Mark (โทษทางวินัย, ไม่ได้เลื่อนเงินเดือน/ไม่ได้เลื่อนขั้น (เนื่องจากลาเกิน), ผลการประเมินการปฏิบัติราชการในรอบ 5 ปี, ข้อมูลเครื่องราชฯ)
///
- /// Id รอบเครื่องราช
///
///
/// ค่าตัวแปรที่ส่งมาไม่ถูกต้อง
/// ไม่ได้ Login เข้าระบบ
/// เมื่อเกิดข้อผิดพลาดในการทำงาน
- [HttpGet("update/{insigniaPeriodId:length(36)}")]
- public async Task> InsigniaRequestUpdateMark(Guid insigniaPeriodId)
+ [HttpPut("update")]
+ public async Task> InsigniaRequestUpdateMark([FromBody] UpdateInsigniaRequestProfile req)
{
try
{
var insigniaPeriod = await _context.InsigniaPeriods
- .Include(x => x.InsigniaRequests)
- .Include(x => x.InsigniaEmployees)
- .FirstOrDefaultAsync(x => x.Id == insigniaPeriodId);
+ .Include(x => x.InsigniaRequests.Where(r => r.OrganizationId == req.agencyId))
+ .FirstOrDefaultAsync(x => x.Id == req.insigniaPeriodId);
if (insigniaPeriod == null)
return Error(GlobalMessages.InsigniaRequestNotFound);
if (insigniaPeriod.InsigniaRequests.Count > 0)
{
- //var allProfileIds = new List();
- //var allProfileEmpIds = new List();
+
foreach (var InsigniaRequest in insigniaPeriod.InsigniaRequests)
{
var profiles = await _context.Set()
- .Where(p => p.Request.Id == InsigniaRequest.Id && p.ProfileType.Trim().ToUpper() == "OFFICER").Select(x => x.ProfileId.ToString()).ToListAsync();
-
- var profileEmps = await _context.Set()
- .Where(p => p.Request.Id == InsigniaRequest.Id && p.ProfileType.Trim().ToUpper() == "EMPLOYEE").Select(x => x.ProfileId.ToString()).ToListAsync();
+ .Where(p => p.Request.Id == InsigniaRequest.Id && p.ProfileType == req.type.Trim().ToUpper()).Select(x => x.ProfileId.ToString()).ToListAsync();
if (profiles.Count > 0)
{
- //allProfileIds.AddRange(profiles);
- await _insigniaPeriodRepository.UpdateInsigniaRequestProfile(profiles.ToArray(), "OFFICER");
- }
-
- if (profileEmps.Count > 0)
- {
- //allProfileEmpIds.AddRange(profileEmps);
- await _insigniaPeriodRepository.UpdateInsigniaRequestProfile(profileEmps.ToArray(), "EMPLOYEE");
+ await _insigniaPeriodRepository.UpdateInsigniaRequestProfile(profiles.ToArray(), req.type.Trim().ToUpper());
}
}
-
- //if (allProfileIds.Count > 0)
- //{
- // await _insigniaPeriodRepository.UpdateInsigniaRequestProfile(allProfileIds.ToArray(), "OFFICER");
- //}
-
- //if (allProfileEmpIds.Count > 0)
- //{
- // await _insigniaPeriodRepository.UpdateInsigniaRequestProfile(allProfileEmpIds.ToArray(), "EMPLOYEE");
- //}
}
return Success();
diff --git a/BMA.EHR.Insignia/Requests/UpdateInsigniaRequestProfile.cs b/BMA.EHR.Insignia/Requests/UpdateInsigniaRequestProfile.cs
new file mode 100644
index 00000000..50c79940
--- /dev/null
+++ b/BMA.EHR.Insignia/Requests/UpdateInsigniaRequestProfile.cs
@@ -0,0 +1,12 @@
+using BMA.EHR.Domain.Models.MetaData;
+using Microsoft.EntityFrameworkCore;
+
+namespace BMA.EHR.Insignia.Service.Requests
+{
+ public class UpdateInsigniaRequestProfile
+ {
+ public Guid insigniaPeriodId { get; set; }
+ public Guid agencyId { get; set; }
+ public string type { get; set; }
+ }
+}
\ No newline at end of file