Exemple #1
0
        public async Task SetDialogMessagesReadByUsersIds()
        {
            var dialog         = fillTestDbHelper.Dialogs.FirstOrDefault(opt => opt.FirstUID != opt.SecondUID);
            var messages       = fillTestDbHelper.Messages.Where(opt => opt.DialogId == dialog.Id && opt.SenderId != dialog.SecondUID).ToList();
            var actualMessages = await updateMessagesService.SetDialogMessagesReadByUsersIdAsync(messages.Select(opt => opt.GlobalId), dialog.FirstUID, dialog.SecondUID);

            Assert.Equal(messages.Select(opt => opt.GlobalId), actualMessages.Select(opt => opt.GlobalId));
        }
Exemple #2
0
        private async Task DialogMessageReadAsync()
        {
            List <MessageDto> readedMessages = await updateMessagesService.SetDialogMessagesReadByUsersIdAsync(
                notice.MessagesId,
                notice.ReaderUserId,
                notice.ConversationOrUserId).ConfigureAwait(false);

            var receiverDialogs = await loadDialogsService.GetUsersDialogsAsync(notice.ReaderUserId, notice.ConversationOrUserId).ConfigureAwait(false);

            var currentDialog = receiverDialogs.FirstOrDefault(opt => opt.SecondUserId == notice.ReaderUserId);

            if (currentDialog != null)
            {
                conversationsNoticeService.SendMessagesReadedNoticeAsync(readedMessages, currentDialog.Id, ConversationType.Dialog, notice.ConversationOrUserId);
                UsersConversationsCacheService.Instance.MessagesReadedUpdateConversations(
                    MessageConverter.GetMessagesVm(readedMessages, null),
                    currentDialog.Id,
                    ConversationType.Dialog);
            }
        }