public async Task AddLastReadMessageAsync(AddLastReadMessageRequest request) { try { var member = await _memberService.GetMemberSummaryBySaasUserIdAsync(request.SaasUserId); var message = await _messageService.GetMessageByIdAsync(request.MessageId); await _messageService.AddLastReadMessageAsync(request); var messageOwner = await _memberService.GetMemberByIdAsync(message.Sender.Id); var members = new List <MemberSummary> { member, messageOwner }; await _messageNotificationHub.OnChangeLastReadMessage(members, message); } catch (NotFoundException ex) { _logger.Event(PropertyNames.EventId).With.Message("Exception: Message does not exist. MessageId: {messageId}", request.MessageId).Exception(ex).AsError(); throw new Exception(String.Format(LanguageResources.RoomMemberButNotExists, request.SaasUserId)); } }
public async Task AddLastReadMessageAsync(AddLastReadMessageRequest request) { var member = await UnitOfWork.MemberRepository.GetMemberBySaasUserIdAsync(request.SaasUserId); Ensure.That(member).WithException(x => new NotFoundException(new ErrorDto(ErrorCode.NotFound, "Member does not exist."))).IsNotNull(); await UnitOfWork.ChannelMemberRepository.AddLastReadMessageAsync(member.Id, request.ChannelId, request.MessageId); }
public async Task MarkAsReadMessageAsync(AddLastReadMessageRequest request) { await CheckAccessTokenAndExecute(new TaskReference(async() => { request.SaasUserId = Context.GetSaasUserId(); await _messageSocketService.AddLastReadMessageAsync(request); }), request.RequestId); }