public virtual async Task HandleEventAsync(SendPrivateMessageEto eventData) { var fromUser = eventData.FromUserId.HasValue ? await _externalUserLookupServiceProvider.FindByIdAsync(eventData.FromUserId.Value) : null; var toUser = await _externalUserLookupServiceProvider.FindByIdAsync(eventData.ToUserId); await _manager.CreateAsync(fromUser, toUser, eventData.Title, eventData.Content); }
public virtual async Task <PrivateMessageDto> CreateAsync(CreateUpdatePrivateMessageDto input) { var toUser = await _externalUserLookupServiceProvider.FindByUserNameAsync(input.ToUserName); var message = await _privateMessageSenderSideManager.CreateAsync(new PrivateMessage(GuidGenerator.Create(), CurrentTenant.Id, toUser.Id, input.Title, input.Content)); await _notificationManager.CreateAsync(new PrivateMessageNotification(GuidGenerator.Create(), CurrentTenant.Id, toUser.Id, message.Id, message.GetTitlePreview())); return(await MapToDtoAndLoadMoreInfosAsync(message)); }