Files
BackOffice.BFF/src/BackOffice.BFF.Application/PublicMessageCQ/Commands/UpdatePublicMessage/UpdatePublicMessageCommandHandler.cs

40 lines
1.5 KiB
C#
Raw Normal View History

using BackOffice.BFF.Application.Common.Interfaces;
using Google.Protobuf.WellKnownTypes;
using MediatR;
using BffProto = BackOffice.BFF.PublicMessage.Protobuf;
using CmsProto = CMSMicroservice.Protobuf.Protos;
namespace BackOffice.BFF.Application.PublicMessageCQ.Commands.UpdatePublicMessage;
public class UpdatePublicMessageCommandHandler : IRequestHandler<BffProto.UpdatePublicMessageRequest, BffProto.UpdatePublicMessageRequest>
{
private readonly IApplicationContractContext _context;
public UpdatePublicMessageCommandHandler(IApplicationContractContext context)
{
_context = context;
}
public async Task<BffProto.UpdatePublicMessageRequest> Handle(BffProto.UpdatePublicMessageRequest request, CancellationToken cancellationToken)
{
var cmsRequest = new CmsProto.UpdatePublicMessageRequest
{
Id = request.MessageId,
Title = request.Title,
Content = request.Content,
Type = request.MessageType,
Priority = request.Priority,
StartDate = Timestamp.FromDateTime(request.StartsAt.ToUniversalTime()),
EndDate = Timestamp.FromDateTime(request.ExpiresAt.ToUniversalTime())
};
await _context.PublicMessages.UpdatePublicMessageAsync(
cmsRequest,
cancellationToken: cancellationToken);
// در حال حاضر پاسخ خاصی از CMS دریافت نمی‌کنیم؛ همان ورودی را برمی‌گردانیم
return request;
}
}