예제 #1
0
 public GetMessagesRequestHandler(NodeRequest request, NodeConnection current, ILoadMessagesService loadMessagesService, IConversationsService conversationsService)
 {
     this.request              = (GetMessagesNodeRequest)request;
     this.current              = current;
     this.loadMessagesService  = loadMessagesService;
     this.conversationsService = conversationsService;
 }
예제 #2
0
        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();
            }
        }