private async void GatherAllCrpSessionAndPlaybookInTfs() { string wiql = @"Select [System.Id] FROM WorkItems WHERE [System.WorkItemType] = 'CRP Session' OR [System.WorkItemType] = 'Playbook'"; WiqlQuery query = new WiqlQuery { query = wiql }; var patchValue = new StringContent(JsonConvert.SerializeObject(query), Encoding.UTF8, "application/json"); var requestUri = "/APHP/" + _project + "/_apis/wit/wiql?api-version=3.0"; var method = new HttpMethod("POST"); var request = new HttpRequestMessage(method, requestUri) { Content = patchValue }; var requestTxt = await request.Content.ReadAsStringAsync(); _logger.Log(requestTxt); var response = await _client.SendAsync(request); string responseTxt = response.Content.ReadAsStringAsync().Result; _logger.Log(responseTxt); if (response.IsSuccessStatusCode) { string workItem = await response.Content.ReadAsStringAsync(); JObject jo = JObject.Parse(workItem); foreach (JToken item in jo["workItems"]) { string currName = await GetWorkItemName(Convert.ToInt32(item["id"])); _dictionary[currName] = Convert.ToInt32(item["id"]); } } }
public async Task <List <ContractRequirement> > GatherAllContractRequirements(List <ContractRequirement> requirements) { List <ContractRequirement> res = new List <ContractRequirement>(); Dictionary <int, ContractRequirement> requirementMapping = new Dictionary <int, ContractRequirement>(); foreach (ContractRequirement requirement in requirements) { requirementMapping[requirement.RequirementID] = requirement; } string wiql = @"Select [System.Id] FROM WorkItems WHERE [System.WorkItemType] = 'Contract Requirement' AND ([System.Title] CONTAINS 'OPSS' OR [System.Title] CONTAINS 'PLMS')"; WiqlQuery query = new WiqlQuery { query = wiql }; var patchValue = new StringContent(JsonConvert.SerializeObject(query), Encoding.UTF8, "application/json"); var requestUri = "/APHP/" + _project + "/_apis/wit/wiql?api-version=3.0"; var method = new HttpMethod("POST"); var request = new HttpRequestMessage(method, requestUri) { Content = patchValue }; var requestTxt = await request.Content.ReadAsStringAsync(); _logger.Log(requestTxt); var response = await _client.SendAsync(request); string responseTxt = response.Content.ReadAsStringAsync().Result; _logger.Log(responseTxt); if (response.IsSuccessStatusCode) { string workItem = await response.Content.ReadAsStringAsync(); JObject jo = JObject.Parse(workItem); using (var progress = new ProgressBar()) { JArray items = (JArray)jo["workItems"]; int count = items.Count; int currCount = 1; Console.Write("Gathering all Contract Requirements... "); foreach (JToken currWorkItem in jo["workItems"]) { progress.Report((double)currCount / (double)count); int currentId = Convert.ToInt32(currWorkItem["id"]); if (requirementMapping.ContainsKey(currentId)) { ContractRequirement currContractRequirement = requirementMapping[currentId]; currContractRequirement = GatherSingleContractRequirement(currContractRequirement).Result; res.Add(currContractRequirement); } currCount += 1; } Console.WriteLine(); } } return(res); }