public Function(Environment e) : base() { Env = e; Params = new HashSet <Symbol>(); EnvList.Add(e); while (!(e.outer is null)) { e = e.outer; EnvList.Add(e); } gfl.Add(this); }
public IRestResponse GetCollection() { Console.WriteLine("Get collection: {0}", Name); RestRequest request = new RestRequest("collections", Method.GET); request.AddHeader("Content-Type", "application/json"); Authorize(request); IRestResponse response = Client.Execute(request); RestSharp.Serialization.Json.JsonDeserializer deserializer = new RestSharp.Serialization.Json.JsonDeserializer(); CollectionList collections = deserializer.Deserialize <CollectionList>(response); foreach (CollectionInfo collection in collections.Collections) { if (collection.Name.Equals(Name)) { Id = collection.Id; Console.WriteLine("Found collection ID: {0}", Id); } } if (Id != null) { Console.WriteLine("Get collection by id: {0}", Id); request = new RestRequest("collections/{id}"); request.AddUrlSegment("id", Id); Authorize(request); response = Client.Execute(request); //parse environment if (Env != null && Env.Equals("") == false) { Console.WriteLine("Get Environment: " + Env); RestRequest envRequest = new RestRequest("environments"); Authorize(envRequest); IRestResponse envResponse = Client.Execute(envRequest); deserializer = new RestSharp.Serialization.Json.JsonDeserializer(); EnvList envs = deserializer.Deserialize <EnvList>(envResponse); String EnvId = ""; foreach (EnvInfo env in envs.Environments) { if (env.Name.Equals(Env)) { EnvId = env.Id; Console.WriteLine("Found environment ID: {0}", EnvId); break; } } if (!EnvId.Equals("")) { envRequest = new RestRequest("environments/{id}"); envRequest.AddUrlSegment("id", EnvId); Authorize(envRequest); envResponse = Client.Execute(envRequest); EnvironmentBody envBody = deserializer.Deserialize <EnvironmentBody>(envResponse); foreach (Value value in envBody.Environment.Values) { if (!BlackList.Contains(value.Key)) { Console.WriteLine("Parse environment value: " + value.Key + " [" + value.value + "]"); response.Content = response.Content.Replace("{{" + value.Key + "}}", value.value); } } } } CollecitonDetail detail = deserializer.Deserialize <CollecitonDetail>(response); Console.WriteLine("Number of collections' endpoints: {0}", detail.Collection.Item.Count); Collection = detail.Collection; } else { String message = "Collection " + Name + " not found!!!"; throw new Exception(message); } return(response); }