public async Task <ZendeskTicket> FromId(string id) { var ticketJson = await m_Api.Ticket(id); var commentsJson = await m_Api.Comments(id); var comments = ((DynamicJsonArray)commentsJson.comments).Cast <dynamic>().Select(x => new ZendeskTicket.Comment(x.body, x.author_id.ToString(), null)); var commentsWithAuthors = await Task.WhenAll(comments.Select(FixCommentAuthor)); return(new ZendeskTicket(id, ticketJson.ticket.subject, ticketJson.ticket.status, new List <ZendeskTicket.Comment>(commentsWithAuthors).AsReadOnly())); }
public async Task <dynamic> Comments(string id) { return(await DoWithRetry(async() => await m_ZdApi.Comments(id))); }
public Task <dynamic> Comments(string ticketId) { return(Cache(m_CommentsCache, ticketId, () => m_Underlying.Comments(ticketId))); }