public List <ChatConversation> GetConversations(int accountId, out int totalCount, int skip = 0, int take = 20, bool throwIfEmpty = false) { //"X-TrueDialog-Count"; IRestRequest request = TDClient.BuildRequest(Method.GET, CONVERSATION_LIST, new { accountId }, filter: string.Format("$skip={0}&$top={1}", skip, take)); IRestResponse response = TDClient.InnerExecute(request); var rval = TDClient.ProcessListResponse <ChatConversation>(request, response, throwIfEmpty); var countHeader = response.Headers.FirstOrDefault(p => p.Name == "X-TrueDialog-Count"); totalCount = countHeader != null?int.Parse(countHeader.Value.ToString()) : rval.Count; return(rval); }
public AccountMedia UploadAsByteArray(int accountId, MediaType type, byte[] byteArray) { var request = TDClient.BuildRequest(Method.POST, LIST, new { accountId }); var extension = ExtensionFromMimeType(type); var fileName = String.Format("ACCT{0}_{1}_Media{2}", accountId, DateTime.UtcNow.Ticks, extension); request.AddFile("media", byteArray, fileName); var response = TDClient.InnerExecute(request); var rval = TDClient.ProcessListResponse <AccountMedia>(request, response, true); return(rval.FirstOrDefault()); }
public Campaign GetDefault(int accountId, CampaignType type) { var filter = string.Format("$filter=(IsDefault eq true) and (CampaignTypeId eq {0})", (int)type); var request = TDClient.BuildRequest(Method.GET, LIST, new { accountId, onlyMine = true }, filter: filter); var response = TDClient.InnerExecute(request); var rval = TDClient.ProcessListResponse <Campaign>(request, response, false); if (rval == null) { return(null); } else { return(rval.FirstOrDefault()); } }
private List <MessageReportRow> InternalGetReport(int accountId, DateTime?from = null, DateTime?to = null, string filter = null, bool throwIfEmpty = false) { var url = URL; if (from.HasValue) { url += ((url.IndexOf('?') != -1) ? "&" : "?") + "from=" + from.Value.ToString("yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture); } if (to.HasValue) { url += ((url.IndexOf('?') != -1) ? "&" : "?") + "to=" + to.Value.ToString("yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture); } IRestRequest request = TDClient.BuildRequest(Method.GET, URL, new { accountId }, null, null, filter); IRestResponse response = TDClient.InnerExecute(request); return(TDClient.ProcessListResponse <MessageReportRow>(request, response, throwIfEmpty)); }