From 44cd46effc2d6cf306cc5a95c681c55088d8f89d Mon Sep 17 00:00:00 2001 From: Bright Date: Wed, 26 Mar 2025 18:42:42 +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=B8=81=E0=B8=A7=E0=B8=B2=E0=B8=94=E0=B8=A3=E0=B8=B2=E0=B8=A2?= =?UTF-8?q?=E0=B8=8A=E0=B8=B7=E0=B9=88=E0=B8=AD=E0=B8=95=E0=B8=AD=E0=B8=99?= =?UTF-8?q?=E0=B8=AA=E0=B9=88=E0=B8=87=E0=B8=AB=E0=B8=99=E0=B8=B1=E0=B8=87?= =?UTF-8?q?=E0=B8=AA=E0=B8=B7=E0=B8=AD=E0=B9=80=E0=B8=A7=E0=B8=B5=E0=B8=A2?= =?UTF-8?q?=E0=B8=99=E0=B8=96=E0=B8=B6=E0=B8=87=E0=B9=81=E0=B8=81=E0=B9=88?= =?UTF-8?q?=E0=B8=81=E0=B8=A3=E0=B8=A3=E0=B8=A1=20(issue=20#1281=20&=20#12?= =?UTF-8?q?87)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../RetirementDeceasedController.cs | 81 ++++++++++++++----- .../RetirementDeceasedAddNotiHigherRequest.cs | 22 +++++ 2 files changed, 85 insertions(+), 18 deletions(-) create mode 100644 BMA.EHR.Retirement.Service/Requests/RetirementDeceasedAddNotiHigherRequest.cs diff --git a/BMA.EHR.Retirement.Service/Controllers/RetirementDeceasedController.cs b/BMA.EHR.Retirement.Service/Controllers/RetirementDeceasedController.cs index 7f170ec0..7d7cc8f2 100644 --- a/BMA.EHR.Retirement.Service/Controllers/RetirementDeceasedController.cs +++ b/BMA.EHR.Retirement.Service/Controllers/RetirementDeceasedController.cs @@ -394,25 +394,70 @@ namespace BMA.EHR.Retirement.Service.Controllers retirementDeceased.Document = _doc; } - retirementDeceased.RetirementDeceasedNotis.Add(new RetirementDeceasedNoti + //retirementDeceased.RetirementDeceasedNotis.Add(new RetirementDeceasedNoti + //{ + // CitizenId = retirementDeceased.citizenId == null ? "" : retirementDeceased.citizenId, + // Prefix = retirementDeceased.prefix == null ? "" : retirementDeceased.prefix, + // FirstName = retirementDeceased.firstName == null ? "" : retirementDeceased.firstName, + // LastName = retirementDeceased.lastName == null ? "" : retirementDeceased.lastName, + // IsSendMail = true, + // IsSendInbox = true, + // IsSendNotification = true, + // // OrganizationName = retirementDeceased.OrganizationName, + // PositionName = retirementDeceased.position == null ? "" : retirementDeceased.position, + // profileId = req.ProfileId, + // CreatedFullName = FullName ?? "System Administrator", + // CreatedUserId = UserId ?? "", + // CreatedAt = DateTime.Now, + // LastUpdateFullName = FullName ?? "System Administrator", + // LastUpdateUserId = UserId ?? "", + // LastUpdatedAt = DateTime.Now, + //}); + + var pathUrl = $"{_configuration["API"]}/org/command/find-higher"; + using (var client = new HttpClient()) { - CitizenId = retirementDeceased.citizenId == null ? "" : retirementDeceased.citizenId, - Prefix = retirementDeceased.prefix == null ? "" : retirementDeceased.prefix, - FirstName = retirementDeceased.firstName == null ? "" : retirementDeceased.firstName, - LastName = retirementDeceased.lastName == null ? "" : retirementDeceased.lastName, - IsSendMail = true, - IsSendInbox = true, - IsSendNotification = true, - // OrganizationName = retirementDeceased.OrganizationName, - PositionName = retirementDeceased.position == null ? "" : retirementDeceased.position, - profileId = req.ProfileId, - CreatedFullName = FullName ?? "System Administrator", - CreatedUserId = UserId ?? "", - CreatedAt = DateTime.Now, - LastUpdateFullName = FullName ?? "System Administrator", - LastUpdateUserId = UserId ?? "", - LastUpdatedAt = DateTime.Now, - }); + client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", "")); + client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]); + var _res = await client.PostAsJsonAsync(pathUrl, new + { + persons = new List + { + new { profileId = req.ProfileId } + } + }); + var _result = await _res.Content.ReadAsStringAsync(); + if (_res.IsSuccessStatusCode) + { + var highers = JsonConvert.DeserializeObject(_result); + if (highers != null && highers.status == 200) + { + foreach (var higher in highers.result) + { + retirementDeceased.RetirementDeceasedNotis.Add(new RetirementDeceasedNoti + { + profileId = higher.profileId, + CitizenId = higher.citizenId, + Prefix = higher.prefix, + FirstName = higher.firstName, + LastName = higher.lastName, + OrganizationName = higher.organizationName, + PositionName = higher.positionName, + IsSendMail = true, + IsSendInbox = true, + IsSendNotification = true, + CreatedFullName = FullName ?? "System Administrator", + CreatedUserId = UserId ?? "", + CreatedAt = DateTime.Now, + LastUpdateFullName = FullName ?? "System Administrator", + LastUpdateUserId = UserId ?? "", + LastUpdatedAt = DateTime.Now, + }); + } + } + } + } + await _context.SaveChangesAsync(); return Success(); diff --git a/BMA.EHR.Retirement.Service/Requests/RetirementDeceasedAddNotiHigherRequest.cs b/BMA.EHR.Retirement.Service/Requests/RetirementDeceasedAddNotiHigherRequest.cs new file mode 100644 index 00000000..81562f89 --- /dev/null +++ b/BMA.EHR.Retirement.Service/Requests/RetirementDeceasedAddNotiHigherRequest.cs @@ -0,0 +1,22 @@ +using BMA.EHR.Domain.Models.MetaData; +using Microsoft.EntityFrameworkCore; + +namespace BMA.EHR.Retirement.Service.Requests +{ + public class RetirementDeceasedAddNotiHigherRequest + { + public int status { get; set; } + public string message { get; set; } = string.Empty; + public List result { get; set; } = new List(); + } + public class HigherResponse + { + public string citizenId { get; set; } = string.Empty; + public string prefix { get; set; } = string.Empty; + public string firstName { get; set; } = string.Empty; + public string lastName { get; set; } = string.Empty; + public string organizationName { get; set; } = string.Empty; + public string positionName { get; set; } = string.Empty; + public string profileId { get; set; } = string.Empty; + } +}