internal static Approval PatchApproval(Approval approval, string status, string comments) { Approval resultApproval = new Approval(); var releaseServiceUrl = getReleaseServiceUrl(); var query = string.Format(Constants.API_PATCH_APPROVAL, releaseServiceUrl, ProjectContext.GetProjectContext().Project, approval.Id); var jsonDataForPostCall = string.Format(Constants.API_POST_BODY_APPROVALS, status, comments); try { var requestContent = new StringContent(jsonDataForPostCall, Encoding.UTF8, "application/json"); var result = LoginService.VSTSHttpClient.PatchAsync(new Uri(query),requestContent).Result; result.EnsureSuccessStatusCode(); var responseWit = result.Content.ReadAsStringAsync().Result; dynamic json = JsonConvert.DeserializeObject(responseWit); resultApproval = getAnApprovalFromJson(json); } catch { resultApproval = null; } return resultApproval; }
protected override void OnNavigatedTo(NavigationEventArgs e) { base.OnNavigatedTo(e); if (e == null) return; approval = (Approval)e.Parameter; if (approval == null) return; SetDefaultUI(); headerTB.Text = approval.ReleaseEnvironment.Name + " ( " + approval.Release.Name +" )"; if (!approval.Status.ToLowerInvariant().Equals("pending")) { noProCommentsTB.Visibility = Visibility.Collapsed; } approvalCardSP.DataContext = approval; }
private void approveBtn_Click(object sender, RoutedEventArgs e) { if(sender == null) { return; } string comments = getApprovalComments(); string status = "approved"; ShowProgressBar(); Approval responseApproval; Task.Factory.StartNew(() => { responseApproval = VSTSService.PatchApproval(approval, status, comments); if (responseApproval != null) { approval = responseApproval; } }).ContinueWith(async (Task t) => { await this.Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () => { approvalCardSP.DataContext = approval; if (!approval.Status.ToLowerInvariant().Equals("pending")) { noProCommentsTB.Visibility = Visibility.Collapsed; } HideProgressBar(); }); }); }
private void rejectBtn_Click(object sender, RoutedEventArgs e) { if (sender == null) { return; } string comments = getApprovalComments(); string status = "rejected"; ShowProgressBar(); Approval responseApproval; Task.Factory.StartNew(() => { responseApproval = VSTSService.PatchApproval(approval, status, comments); if (responseApproval != null) { approval = responseApproval; } }).ContinueWith(async (Task t) => { await this.Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () => { approvalCardSP.DataContext = approval; HideProgressBar(); }); }); }
private static Approval getAnApprovalFromJson(dynamic approvalBody) { Approval approval = new Approval { Id = approvalBody.id, ApprovalType = approvalBody.approvalType, Status = approvalBody.status, Comments = approvalBody.comments }; if (approvalBody.approver != null) { approval.Approver = getIdentityFronJson(approvalBody.approver); } if (approvalBody.createdOn != null) { approval.CreatedOn = approvalBody.createdOn; } if (approvalBody.modifiedOn != null) { approval.ModifiedOn = approvalBody.modifiedOn; } if (approvalBody.releaseDefinition != null) { approval.ReleaseDefinition = new ReleaseDefinition { Id = approvalBody.releaseDefinition.id, Name = approvalBody.releaseDefinition.name }; } if (approvalBody.release != null) { approval.Release = new Release { Id = approvalBody.release.id, Name = approvalBody.release.name }; } if (approvalBody.releaseEnvironment != null) { approval.ReleaseEnvironment = new Release.REnvironment { Id = approvalBody.releaseEnvironment.id, Name = approvalBody.releaseEnvironment.name }; } return approval; }