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 { private readonly IApplicationContractContext _context; public UpdatePublicMessageCommandHandler(IApplicationContractContext context) { _context = context; } public async Task 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; } }