/// <summary> /// This method fetchs information of a specific content type. /// </summary> /// <example> /// <code> /// ContentstackClient stack = new ContentstackClinet("blt5d4sample2633b", "blt6d0240b5sample254090d", "stag"); /// ContentType contenttype = stack.ContentType("contentType_name"); /// var result = await contenttype.Fetch(); /// </code> /// </example> /// <returns>The Content-Type Schema Object.</returns> public async Task <JObject> Fetch() { Dictionary <String, Object> headers = GetHeader(_Headers); Dictionary <String, object> headerAll = new Dictionary <string, object>(); Dictionary <string, object> mainJson = new Dictionary <string, object>(); //Dictionary<string, object> urlQueries = new Dictionary<string, object>(); if (headers != null && headers.Count() > 0) { foreach (var header in headers) { headerAll.Add(header.Key, (String)header.Value); } if (headers.ContainsKey("environment")) { UrlQueries.Add("environment", headers["environment"]); //Url = Url + "?environment=" + headers["environment"]; } else if (headers.ContainsKey("environment_uid")) { UrlQueries.Add("environment_uid", headers["environment_uid"]); //Url = Url + "?environment_uid=" + headers["environment_uid"]; } else { mainJson.Add("environment", this.StackInstance.config.Environment); } } foreach (var kvp in UrlQueries) { mainJson.Add(kvp.Key, kvp.Value); } try { HTTPRequestHandler RequestHandler = new HTTPRequestHandler(); var outputResult = await RequestHandler.ProcessRequest(_Url, headers, mainJson); JObject data = JsonConvert.DeserializeObject <JObject>(outputResult.Replace("\r\n", ""), ContentstackConvert.JsonSerializerSettings); JObject contentTypes = (Newtonsoft.Json.Linq.JObject)data["content_type"]; return(contentTypes); } catch (Exception ex) { throw GetContentstackError(ex); } }
private async Task <SyncStack> GetResultAsync(string Init = "false", string ContentTypeUid = null, DateTime?StartFrom = null, string SyncToken = null, string PaginationToken = null, string Lang = null) { //mainJson = null; Dictionary <string, object> mainJson = new Dictionary <string, object>(); if (Init != "false") { mainJson.Add("init", "true"); mainJson.Add("environment", config.Environment); } if (StartFrom != null) { DateTime startFrom = StartFrom ?? DateTime.MinValue; mainJson.Add("start_from", startFrom.ToString("yyyy-MM-dd")); } if (SyncToken != null) { mainJson.Add("sync_token", SyncToken); } if (PaginationToken != null) { mainJson.Add("pagination_token", PaginationToken); } if (ContentTypeUid != null) { mainJson.Add("content_type_uid", ContentTypeUid); } if (Lang != null) { mainJson.Add("locale", Lang); } try { HTTPRequestHandler requestHandler = new HTTPRequestHandler(); string js = await requestHandler.ProcessRequest(_SyncUrl, _LocalHeaders, mainJson); SyncStack stackSyncOutput = JsonConvert.DeserializeObject <SyncStack>(js); return(stackSyncOutput); } catch (Exception ex) { throw GetContentstackError(ex); } }