Ejemplo n.º 1
0
        private BookUserDTO MapUser(BookUser user)
        {
            if (user is null)
            {
                return(null);
            }

            _photosUrlResolver.ResolveUrl(user);
            user.BookPosts?.ForEach(bp => _photosUrlResolver.ResolveUrl(bp));

            return(_mapper.Map <BookUser, BookUserDTO>(user));
        }
Ejemplo n.º 2
0
        public async Task SendMessage(MessageDTO message, string chatName)
        {
            _photosUrlResolver.ResolveUrl(message.Sender);
            await Clients.Group(chatName).SendAsync("ReceiveMessage", message);

            await _messageService.StoreMessageAsync(message);
        }
Ejemplo n.º 3
0
        public ConversationDTO ParseConversation(PrivateConversation conversation, Message message, int userId)
        {
            var otherUser       = (userId == conversation.User1Id) ? conversation.User2 : conversation.User1;
            var conversationDTO = new ConversationDTO()
            {
                Id = conversation.Id,
                ConversationType        = conversation.ConversationType,
                ConversationPhoto       = otherUser.PhotoFileName,
                ConversationLastMessage = (message.SenderId == userId) ? $"You: {message.MessageContent}" : message.MessageContent,
                ConversationName        = otherUser.Username,
                LastMessageSendTime     = message.SendTime
            };

            _photosUrlResolver.ResolveUrl(conversationDTO);

            return(conversationDTO);
        }
Ejemplo n.º 4
0
        public async Task <BooksSearchResultDTO> GetPostsWithSpecAsync(Specification specification)
        {
            var searchResult = await _bookPostRepository.GetPostsWithSpecificationAsync(specification);

            foreach (var bookPost in searchResult.BookPosts)
            {
                _photosUrlResolver.ResolveUrl(bookPost);
            }

            return(searchResult);
        }
Ejemplo n.º 5
0
        public async Task <IReadOnlyList <MessageDTO> > GetMessagesFromConversationAsync(ConversationDTO conversation)
        {
            var messages = await _messageRepository.GetMessagesFromConversationAsync(conversation);

            var messagesDTO = new List <MessageDTO>();

            foreach (var message in messages)
            {
                _photosUrlResolver.ResolveUrl(message.Sender);
                messagesDTO.Add(_mapper.Map <Message, MessageDTO>(message));
            }

            return(messagesDTO);
        }