noti สำเนา
This commit is contained in:
parent
cf56ef9297
commit
33be7f1121
3 changed files with 82 additions and 0 deletions
|
|
@ -334,6 +334,61 @@ namespace BMA.EHR.Application.Repositories.MessageQueue
|
||||||
throw;
|
throw;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public class NotisLinkSendRequest
|
||||||
|
{
|
||||||
|
public Guid ReceiverUserId { get; set; }
|
||||||
|
public string NotiLink { get; set; }
|
||||||
|
public bool IsSendMail { get; set; }
|
||||||
|
public bool IsSendInbox { get; set; }
|
||||||
|
}
|
||||||
|
public async Task PushNotificationsLinkSendAsync(NotisLinkSendRequest[] ReceiverUserIds, string Subject, string Body, string Payload = "")
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
foreach (var data in ReceiverUserIds)
|
||||||
|
{
|
||||||
|
_dbContext.Set<Notification>().Add(new Notification
|
||||||
|
{
|
||||||
|
Body = Body,
|
||||||
|
ReceiverUserId = data.ReceiverUserId,
|
||||||
|
Type = "",
|
||||||
|
Payload = data.NotiLink,
|
||||||
|
CreatedFullName = FullName ?? "System Administrator",
|
||||||
|
CreatedUserId = UserId ?? "",
|
||||||
|
CreatedAt = DateTime.Now,
|
||||||
|
LastUpdateFullName = FullName ?? "System Administrator",
|
||||||
|
LastUpdateUserId = UserId ?? "",
|
||||||
|
LastUpdatedAt = DateTime.Now,
|
||||||
|
});
|
||||||
|
if (data.IsSendInbox == true)
|
||||||
|
{
|
||||||
|
_dbContext.Set<Inbox>().Add(new Inbox
|
||||||
|
{
|
||||||
|
Subject = Subject,
|
||||||
|
Body = Body,
|
||||||
|
ReceiverUserId = data.ReceiverUserId,
|
||||||
|
Payload = Payload,
|
||||||
|
CreatedFullName = FullName ?? "System Administrator",
|
||||||
|
CreatedUserId = UserId ?? "",
|
||||||
|
CreatedAt = DateTime.Now,
|
||||||
|
LastUpdateFullName = FullName ?? "System Administrator",
|
||||||
|
LastUpdateUserId = UserId ?? "",
|
||||||
|
LastUpdatedAt = DateTime.Now,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
if (data.IsSendMail == true)
|
||||||
|
{
|
||||||
|
_emailSenderService.SendMail(Subject, Body, "kittapath@frappet.com");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
await _dbContext.SaveChangesAsync();
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
throw;
|
||||||
|
}
|
||||||
|
}
|
||||||
public async Task PushNotificationAsyncV2(string? ReceiverUserId, string Subject, string Body, string Payload = "", bool IsSendInbox = false, bool IsSendMail = false)
|
public async Task PushNotificationAsyncV2(string? ReceiverUserId, string Subject, string Body, string Payload = "", bool IsSendInbox = false, bool IsSendMail = false)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
|
|
|
||||||
|
|
@ -135,6 +135,18 @@ namespace BMA.EHR.Placement.Service.Controllers
|
||||||
return Success();
|
return Success();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[HttpPost("profiles-send")]
|
||||||
|
public async Task<ActionResult<ResponseObject>> UpdatePropertyByUserProfiles_send([FromBody] NotisSendRequest req)
|
||||||
|
{
|
||||||
|
await _repositoryNoti.PushNotificationsLinkSendAsync(
|
||||||
|
req.ReceiverUserIds,
|
||||||
|
req.Subject,
|
||||||
|
req.Body,
|
||||||
|
req.Payload
|
||||||
|
);
|
||||||
|
return Success();
|
||||||
|
}
|
||||||
|
|
||||||
[HttpPut("{id:length(36)}")]
|
[HttpPut("{id:length(36)}")]
|
||||||
public async Task<ActionResult<ResponseObject>> ReplyPropertyByUser([FromBody] NotiReplyRequest req, Guid id)
|
public async Task<ActionResult<ResponseObject>> ReplyPropertyByUser([FromBody] NotiReplyRequest req, Guid id)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
15
BMA.EHR.Placement.Service/Requests/NotisSendRequest.cs
Normal file
15
BMA.EHR.Placement.Service/Requests/NotisSendRequest.cs
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
using BMA.EHR.Domain.Models.MetaData;
|
||||||
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
using static BMA.EHR.Application.Repositories.MessageQueue.NotificationRepository;
|
||||||
|
|
||||||
|
namespace BMA.EHR.Placement.Service.Requests
|
||||||
|
{
|
||||||
|
public class NotisSendRequest
|
||||||
|
{
|
||||||
|
public string Subject { get; set; }
|
||||||
|
public string Body { get; set; }
|
||||||
|
public string Payload { get; set; }
|
||||||
|
// public string NotiLink { get; set; }
|
||||||
|
public NotisLinkSendRequest[] ReceiverUserIds { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue