/// <summary> /// Rename Iteration /// </summary> /// <param name="projectName"></param> /// <param name="IterationToUpdate"></param> /// <returns></returns> public bool RenameIteration(string projectName, Dictionary <string, string> IterationToUpdate) { bool isSuccesfull = false; try { foreach (var key in IterationToUpdate.Keys) { CreateUpdateNodeViewModel.Node node = new CreateUpdateNodeViewModel.Node() { name = IterationToUpdate[key] }; using (var client = new HttpClient()) { client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json")); client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", _credentials); // serialize the fields array into a json string var patchValue = new StringContent(JsonConvert.SerializeObject(node), Encoding.UTF8, "application/json"); var method = new HttpMethod("PATCH"); // send the request var request = new HttpRequestMessage(method, _configuration.UriString + projectName + "/_apis/wit/classificationNodes/Iterations/" + key + "?api-version=" + _configuration.VersionNumber) { Content = patchValue }; var response = client.SendAsync(request).Result; if (response.IsSuccessStatusCode) { isSuccesfull = true; } } } string project = projectName; DateTime StartDate = DateTime.Today.AddDays(-22); DateTime EndDate = DateTime.Today.AddDays(-1); Dictionary <string, string[]> sprint_dic = new Dictionary <string, string[]>(); for (int i = 1; i <= IterationToUpdate.Count; i++) { sprint_dic.Add("Sprint " + i, new string[] { StartDate.ToShortDateString(), EndDate.ToShortDateString() }); } foreach (var key in sprint_dic.Keys) { UpdateIterationDates(project, key, StartDate, EndDate); StartDate = EndDate.AddDays(1); EndDate = StartDate.AddDays(21); } } catch (Exception) { } return(isSuccesfull); }
/// <summary> /// Update Iteration Dates /// </summary> /// <param name="project"></param> /// <param name="path"></param> /// <param name="startDate"></param> /// <param name="finishDate"></param> /// <returns></returns> public GetNodeResponse.Node UpdateIterationDates(string project, string path, DateTime startDate, DateTime finishDate) { try { CreateUpdateNodeViewModel.Node node = new CreateUpdateNodeViewModel.Node() { //name = path, attributes = new CreateUpdateNodeViewModel.Attributes() { startDate = startDate, finishDate = finishDate } }; GetNodeResponse.Node viewModel = new GetNodeResponse.Node(); using (var client = GetHttpClient()) { // serialize the fields array into a json string var patchValue = new StringContent(JsonConvert.SerializeObject(node), Encoding.UTF8, "application/json"); var method = new HttpMethod("PATCH"); // send the request var request = new HttpRequestMessage(method, project + "/_apis/wit/classificationNodes/iterations/" + path + "?api-version=" + _configuration.VersionNumber) { Content = patchValue }; var response = client.SendAsync(request).Result; if (response.IsSuccessStatusCode) { viewModel = response.Content.ReadAsAsync <GetNodeResponse.Node>().Result; viewModel.Message = "success"; } else { dynamic responseForInvalidStatusCode = response.Content.ReadAsAsync <dynamic>(); Newtonsoft.Json.Linq.JContainer msg = responseForInvalidStatusCode.Result; viewModel.Message = msg.ToString(); var errorMessage = response.Content.ReadAsStringAsync(); string error = Utility.GeterroMessage(errorMessage.Result.ToString()); this.LastFailureMessage = error; } viewModel.HttpStatusCode = response.StatusCode; return(viewModel); } } catch (Exception ex) { logger.Debug(DateTime.UtcNow.ToString("yyyy-MM-dd HH:mm:ss") + "\t" + "\t" + ex.Message + "\t" + "\n" + ex.StackTrace + "\n"); } return(new GetNodeResponse.Node()); }
/// <summary> /// Rename Iteration /// </summary> /// <param name="projectName"></param> /// <param name="iterationToUpdate"></param> /// <returns></returns> public bool RenameIteration(string projectName, Dictionary <string, string> iterationToUpdate) { bool isSuccessful = false; try { foreach (var key in iterationToUpdate.Keys) { CreateUpdateNodeViewModel.Node node = new CreateUpdateNodeViewModel.Node() { name = iterationToUpdate[key] }; using (var client = GetHttpClient()) { // serialize the fields array into a json string var patchValue = new StringContent(JsonConvert.SerializeObject(node), Encoding.UTF8, "application/json"); var method = new HttpMethod("PATCH"); // send the request var request = new HttpRequestMessage(method, projectName + "/_apis/wit/classificationNodes/Iterations/" + key + "?api-version=" + _configuration.VersionNumber) { Content = patchValue }; var response = client.SendAsync(request).Result; if (response.IsSuccessStatusCode) { isSuccessful = true; } } } string project = projectName; DateTime StartDate = DateTime.Today.AddDays(-22); DateTime EndDate = DateTime.Today.AddDays(-1); Dictionary <string, string[]> sprint_dic = new Dictionary <string, string[]>(); for (int i = 1; i <= iterationToUpdate.Count; i++) { sprint_dic.Add("Sprint " + i, new string[] { StartDate.ToShortDateString(), EndDate.ToShortDateString() }); } foreach (var key in sprint_dic.Keys) { UpdateIterationDates(project, key, StartDate, EndDate); StartDate = EndDate.AddDays(1); EndDate = StartDate.AddDays(21); } } catch (Exception ex) { logger.Debug(DateTime.UtcNow.ToString("yyyy-MM-dd HH:mm:ss") + "\t" + "\t" + ex.Message + "\t" + "\n" + ex.StackTrace + "\n"); } return(isSuccessful); }
/// <summary> /// Update Iteration Dates /// </summary> /// <param name="project"></param> /// <param name="path"></param> /// <param name="startDate"></param> /// <param name="finishDate"></param> /// <returns></returns> public GetNodeResponse.Node UpdateIterationDates(string project, string path, DateTime startDate, DateTime finishDate) { CreateUpdateNodeViewModel.Node node = new CreateUpdateNodeViewModel.Node() { //name = path, attributes = new CreateUpdateNodeViewModel.Attributes() { startDate = startDate, finishDate = finishDate } }; GetNodeResponse.Node viewModel = new GetNodeResponse.Node(); using (var client = new HttpClient()) { client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json")); client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", _credentials); // serialize the fields array into a json string var patchValue = new StringContent(JsonConvert.SerializeObject(node), Encoding.UTF8, "application/json"); var method = new HttpMethod("PATCH"); // send the request var request = new HttpRequestMessage(method, _configuration.UriString + project + "/_apis/wit/classificationNodes/iterations/" + path + "?api-version=" + _configuration.VersionNumber) { Content = patchValue }; var response = client.SendAsync(request).Result; if (response.IsSuccessStatusCode) { viewModel = response.Content.ReadAsAsync <GetNodeResponse.Node>().Result; viewModel.Message = "success"; } else { dynamic responseForInvalidStatusCode = response.Content.ReadAsAsync <dynamic>(); Newtonsoft.Json.Linq.JContainer msg = responseForInvalidStatusCode.Result; viewModel.Message = msg.ToString(); var errorMessage = response.Content.ReadAsStringAsync(); string error = Utility.GeterroMessage(errorMessage.Result.ToString()); this.LastFailureMessage = error; } viewModel.HttpStatusCode = response.StatusCode; return(viewModel); } }
public GetNodeResponse.Node CreateIteration(string project, string path) { CreateUpdateNodeViewModel.Node node = new CreateUpdateNodeViewModel.Node() { name = path //attributes = new CreateUpdateNodeViewModel.Attributes() //{ // startDate = startDate, // finishDate = finishDate //} }; GetNodeResponse.Node viewModel = new GetNodeResponse.Node(); using (var client = new HttpClient()) { client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json")); client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", _credentials); // serialize the fields array into a json string var postValue = new StringContent(JsonConvert.SerializeObject(node), Encoding.UTF8, "application/json"); var method = new HttpMethod("POST"); // send the request var request = new HttpRequestMessage(method, _configuration.UriString + project + "/_apis/wit/classificationNodes/iterations?api-version=2.2") { Content = postValue }; var response = client.SendAsync(request).Result; if (response.IsSuccessStatusCode) { viewModel = response.Content.ReadAsAsync <GetNodeResponse.Node>().Result; viewModel.Message = "success"; } else { dynamic responseForInvalidStatusCode = response.Content.ReadAsAsync <dynamic>(); Newtonsoft.Json.Linq.JContainer msg = responseForInvalidStatusCode.Result; viewModel.Message = msg.ToString(); } viewModel.HttpStatusCode = response.StatusCode; return(viewModel); } }
/// <summary> /// Create Iterations /// </summary> /// <param name="projectName"></param> /// <param name="path"></param> /// <returns></returns> public GetNodeResponse.Node CreateIteration(string projectName, string path) { CreateUpdateNodeViewModel.Node node = new CreateUpdateNodeViewModel.Node() { name = path }; GetNodeResponse.Node viewModel = new GetNodeResponse.Node(); using (var client = new HttpClient()) { client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json")); client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", _credentials); // serialize the fields array into a json string //var patchValue = new StringContent(JsonConvert.SerializeObject(team), Encoding.UTF8, "application/json"); var jsonContent = new StringContent(JsonConvert.SerializeObject(node), Encoding.UTF8, "application/json"); var method = new HttpMethod("POST"); var request = new HttpRequestMessage(method, _configuration.UriString + string.Format("/{0}/_apis/wit/classificationNodes/iterations?api-version=1.0", projectName)) { Content = jsonContent }; var response = client.SendAsync(request).Result; if (response.IsSuccessStatusCode) { viewModel = response.Content.ReadAsAsync <GetNodeResponse.Node>().Result; } else { var errorMessage = response.Content.ReadAsStringAsync(); } viewModel.HttpStatusCode = response.StatusCode; } return(viewModel); }
/// <summary> /// movie Iteration to parent /// </summary> /// <param name="projectName"></param> /// <param name="targetIteration"></param> /// <param name="sourceIterationId"></param> /// <returns></returns> public GetNodeResponse.Node MoveIteration(string projectName, string targetIteration, int sourceIterationId) { try { CreateUpdateNodeViewModel.Node node = new CreateUpdateNodeViewModel.Node() { id = sourceIterationId }; GetNodeResponse.Node viewModel = new GetNodeResponse.Node(); using (var client = GetHttpClient()) { var jsonContent = new StringContent(JsonConvert.SerializeObject(node), Encoding.UTF8, "application/json"); var method = new HttpMethod("POST"); var request = new HttpRequestMessage(method, string.Format("/{0}/_apis/wit/classificationNodes/iterations/{1}?api-version=" + _configuration.VersionNumber, projectName, targetIteration)) { Content = jsonContent }; var response = client.SendAsync(request).Result; if (response.IsSuccessStatusCode) { viewModel = response.Content.ReadAsAsync <GetNodeResponse.Node>().Result; } else { var errorMessage = response.Content.ReadAsStringAsync(); } viewModel.HttpStatusCode = response.StatusCode; } } catch (Exception ex) { logger.Debug(DateTime.UtcNow.ToString("yyyy-MM-dd HH:mm:ss") + "\t" + "\t" + ex.Message + "\t" + "\n" + ex.StackTrace + "\n"); } return(new GetNodeResponse.Node()); }
public GetNodeResponse.Node MoveArea(string project, string targetArea, int id) { CreateUpdateNodeViewModel.Node node = new CreateUpdateNodeViewModel.Node() { id = id }; GetNodeResponse.Node viewModel = new GetNodeResponse.Node(); using (var client = new HttpClient()) { client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json")); client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", _credentials); // serialize the fields array into a json string var patchValue = new StringContent(JsonConvert.SerializeObject(node), Encoding.UTF8, "application/json"); var method = new HttpMethod("POST"); // send the request var request = new HttpRequestMessage(method, _configuration.UriString + project + "/_apis/wit/classificationNodes/areas/" + targetArea + "?api-version=2.2") { Content = patchValue }; var response = client.SendAsync(request).Result; if (response.IsSuccessStatusCode) { viewModel = response.Content.ReadAsAsync <GetNodeResponse.Node>().Result; viewModel.Message = "success"; } viewModel.HttpStatusCode = response.StatusCode; return(viewModel); } }