コード例 #1
0
        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));
            }
        }
コード例 #2
0
        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);
        }
コード例 #3
0
 public async Task MarkAsReadMessageAsync(AddLastReadMessageRequest request)
 {
     await CheckAccessTokenAndExecute(new TaskReference(async() =>
     {
         request.SaasUserId = Context.GetSaasUserId();
         await _messageSocketService.AddLastReadMessageAsync(request);
     }), request.RequestId);
 }