public async Task <IEnumerable <MessagesViewModel> > Handle(CreateMessagesCommand request, CancellationToken cancellationToken) { if (!request.Messages.Any()) { throw new ApplicationException("Atleast on Message should be available in the request"); } var postMessagesRequest = new PostMessagesRequest { Records = (from msg in request.Messages select new PostMessagesRequest.Record { Fields = new MessageField { Id = msg.Id, Summary = msg.Title, Message = msg.Text, ReceivedAt = msg.ReceivedAt } }).ToArray() }; var response = await _airtableApiClient.CreateMessagesAsync(postMessagesRequest, cancellationToken); return(response.Records.Select(record => _mapper.Map <MessagesViewModel>(record))); }
public async Task <MessagesResponse> CreateMessagesAsync(PostMessagesRequest request, CancellationToken cancellationToken) { return(await QueryAsync <MessagesResponse>(HttpMethod.Post, $"/Messages", cancellationToken, body : request).ConfigureAwait(false)); }