public GetMessagesRequestHandler(NodeRequest request, NodeConnection current, ILoadMessagesService loadMessagesService, IConversationsService conversationsService) { this.request = (GetMessagesNodeRequest)request; this.current = current; this.loadMessagesService = loadMessagesService; this.conversationsService = conversationsService; }
public async Task <List <MessageDto> > GetMessagesAsync(NodeConnection connection, long conversationId, ConversationType conversationType, Guid?messageId, List <AttachmentType> attachmentsTypes, bool direction = true, int length = 1000) { if (connection == null) { return(new List <MessageDto>()); } GetMessagesNodeRequest request = new GetMessagesNodeRequest(conversationType, conversationId, messageId, attachmentsTypes, direction, length); SendRequest(connection, request); NodeResponse response = await GetResponseAsync(request).ConfigureAwait(false); if (response.ResponseType == Enums.NodeResponseType.Messages) { MessagesNodeResponse messagesResponse = (MessagesNodeResponse)response; return(messagesResponse.Messages); } else { throw new BadResponseException(); } }