示例#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));
            }
        }
        public async Task <IActionResult> AddLastReadMessageAsync(Guid messageId, Guid channelId)
        {
            var userId = GetCurrentUserId();
            await _messageService.AddLastReadMessageAsync(new AddLastReadMessageRequest(channelId, messageId, userId));

            return(Ok());
        }