diff --git a/BMA.EHR.Application/Repositories/MessageQueue/NotificationRepository.cs b/BMA.EHR.Application/Repositories/MessageQueue/NotificationRepository.cs index 8388fd0c..4ccc3606 100644 --- a/BMA.EHR.Application/Repositories/MessageQueue/NotificationRepository.cs +++ b/BMA.EHR.Application/Repositories/MessageQueue/NotificationRepository.cs @@ -223,7 +223,22 @@ namespace BMA.EHR.Application.Repositories.MessageQueue } if (IsSendMail == true) { - _emailSenderService.SendMail(Subject, Body, "kittapath@frappet.com"); + var apiUrl = $"{_configuration["API"]}/org/dotnet/email/{ReceiverUserId}"; + using (var client = new HttpClient()) + { + client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", AccessToken.Replace("Bearer ", "")); + client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]); + var _req = new HttpRequestMessage(HttpMethod.Get, apiUrl); + var _res = await client.SendAsync(_req); + var _result = await _res.Content.ReadAsStringAsync(); + + if (_res.IsSuccessStatusCode) + { + var org = JsonConvert.DeserializeObject(_result); + if (org != null && org.result != null) + _emailSenderService.SendMail(Subject, Body, org.result); + } + } } await _dbContext.SaveChangesAsync(); //} @@ -250,25 +265,40 @@ namespace BMA.EHR.Application.Repositories.MessageQueue LastUpdateUserId = UserId ?? "", LastUpdatedAt = DateTime.Now, }); - /* if (IsSendInbox == true) - { - _dbContext.Set().Add(new Inbox - { - Subject = Subject, - Body = Body, - ReceiverUserId = ReceiverUserId, - Payload = Payload, - CreatedFullName = FullName ?? "System Administrator", - CreatedUserId = UserId ?? "", - CreatedAt = DateTime.Now, - LastUpdateFullName = FullName ?? "System Administrator", - LastUpdateUserId = UserId ?? "", - LastUpdatedAt = DateTime.Now, - }); - }*/ + /* if (IsSendInbox == true) + { + _dbContext.Set().Add(new Inbox + { + Subject = Subject, + Body = Body, + ReceiverUserId = ReceiverUserId, + Payload = Payload, + CreatedFullName = FullName ?? "System Administrator", + CreatedUserId = UserId ?? "", + CreatedAt = DateTime.Now, + LastUpdateFullName = FullName ?? "System Administrator", + LastUpdateUserId = UserId ?? "", + LastUpdatedAt = DateTime.Now, + }); + }*/ if (IsSendMail == true) { - _emailSenderService.SendMail(Subject, Body, "kittapath@frappet.com"); + var apiUrl = $"{_configuration["API"]}/org/dotnet/email/{ReceiverUserId}"; + using (var client = new HttpClient()) + { + client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", AccessToken.Replace("Bearer ", "")); + client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]); + var _req = new HttpRequestMessage(HttpMethod.Get, apiUrl); + var _res = await client.SendAsync(_req); + var _result = await _res.Content.ReadAsStringAsync(); + + if (_res.IsSuccessStatusCode) + { + var org = JsonConvert.DeserializeObject(_result); + if (org != null && org.result != null) + _emailSenderService.SendMail(Subject, Body, org.result); + } + } } await _dbContext.SaveChangesAsync(); } @@ -327,7 +357,22 @@ namespace BMA.EHR.Application.Repositories.MessageQueue } if (IsSendMail == true) { - _emailSenderService.SendMail(Subject, Body, "kittapath@frappet.com"); + var apiUrl = $"{_configuration["API"]}/org/dotnet/email/{ReceiverUserId}"; + using (var client = new HttpClient()) + { + client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", AccessToken.Replace("Bearer ", "")); + client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]); + var _req = new HttpRequestMessage(HttpMethod.Get, apiUrl); + var _res = await client.SendAsync(_req); + var _result = await _res.Content.ReadAsStringAsync(); + + if (_res.IsSuccessStatusCode) + { + var org = JsonConvert.DeserializeObject(_result); + if (org != null && org.result != null) + _emailSenderService.SendMail(Subject, Body, org.result); + } + } } } await _dbContext.SaveChangesAsync(); @@ -343,6 +388,11 @@ namespace BMA.EHR.Application.Repositories.MessageQueue public Guid ReceiverUserId { get; set; } public string NotiLink { get; set; } } + + public class ResultRequest + { + public string result { get; set; } + } public async Task PushNotificationsLinkAsync(NotisLinkRequest[] ReceiverUserIds, string Subject, string Body, string Payload = "", bool IsSendInbox = false, bool IsSendMail = false) { try @@ -380,7 +430,22 @@ namespace BMA.EHR.Application.Repositories.MessageQueue } if (IsSendMail == true) { - _emailSenderService.SendMail(Subject, Body, "kittapath@frappet.com"); + var apiUrl = $"{_configuration["API"]}/org/dotnet/email/{ReceiverUserId.ReceiverUserId}"; + using (var client = new HttpClient()) + { + client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", AccessToken.Replace("Bearer ", "")); + client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]); + var _req = new HttpRequestMessage(HttpMethod.Get, apiUrl); + var _res = await client.SendAsync(_req); + var _result = await _res.Content.ReadAsStringAsync(); + + if (_res.IsSuccessStatusCode) + { + var org = JsonConvert.DeserializeObject(_result); + if (org != null && org.result != null) + _emailSenderService.SendMail(Subject, Body, org.result); + } + } } } await _dbContext.SaveChangesAsync(); @@ -435,7 +500,22 @@ namespace BMA.EHR.Application.Repositories.MessageQueue } if (data.IsSendMail == true) { - _emailSenderService.SendMail(Subject, Body, "kittapath@frappet.com"); + var apiUrl = $"{_configuration["API"]}/org/dotnet/email/{data.ReceiverUserId}"; + using (var client = new HttpClient()) + { + client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", AccessToken.Replace("Bearer ", "")); + client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]); + var _req = new HttpRequestMessage(HttpMethod.Get, apiUrl); + var _res = await client.SendAsync(_req); + var _result = await _res.Content.ReadAsStringAsync(); + + if (_res.IsSuccessStatusCode) + { + var org = JsonConvert.DeserializeObject(_result); + if (org != null && org.result != null) + _emailSenderService.SendMail(Subject, Body, org.result); + } + } } } await _dbContext.SaveChangesAsync(); @@ -482,7 +562,22 @@ namespace BMA.EHR.Application.Repositories.MessageQueue } if (IsSendMail == true) { - _emailSenderService.SendMail(Subject, Body, "kittapath@frappet.com"); + var apiUrl = $"{_configuration["API"]}/org/dotnet/email/{ReceiverUserId}"; + using (var client = new HttpClient()) + { + client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", AccessToken.Replace("Bearer ", "")); + client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]); + var _req = new HttpRequestMessage(HttpMethod.Get, apiUrl); + var _res = await client.SendAsync(_req); + var _result = await _res.Content.ReadAsStringAsync(); + + if (_res.IsSuccessStatusCode) + { + var org = JsonConvert.DeserializeObject(_result); + if (org != null && org.result != null) + _emailSenderService.SendMail(Subject, Body, org.result); + } + } } await _dbContext.SaveChangesAsync(); }