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)); }
public async Task SendMessage(MessageDTO message, string chatName) { _photosUrlResolver.ResolveUrl(message.Sender); await Clients.Group(chatName).SendAsync("ReceiveMessage", message); await _messageService.StoreMessageAsync(message); }
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); }
public async Task <BooksSearchResultDTO> GetPostsWithSpecAsync(Specification specification) { var searchResult = await _bookPostRepository.GetPostsWithSpecificationAsync(specification); foreach (var bookPost in searchResult.BookPosts) { _photosUrlResolver.ResolveUrl(bookPost); } return(searchResult); }
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); }