public async Task <IActionResult> UpdateReleaseStatus([FromRoute] string revisionNumber, [FromRoute] string projectName, [FromRoute] string status, [FromBody] ReleaseStatusRequest releaseStatus) { Project project = await ProjectDataService.GetAsync(TableStorageConfig.DomainString, projectName); if (project == null) { return(new NotFoundObjectResult("Project not found")); } Release release = await ReleaseDataService.GetAsync(projectName, revisionNumber); if (release == null) { return(new NotFoundObjectResult("Revision not found")); } else { release.Status = status; release.ReleaseDataLink = releaseStatus.DataLink; await ReleaseDataService.InsertOrReplaceAsync(release).ContinueWith(async(antecedent) => { await BroadcastStatusHubContext.Clients.All.SendAsync(EventTable.GetEventMessage(EventTable.EventID.EventReleaseStatusChanged), release); }, TaskContinuationOptions.OnlyOnRanToCompletion); } return(Ok(release)); }
public async Task <IActionResult> UpdateReleaseStatus([FromRoute] string revisionNumber, [FromRoute] string projectName, [FromRoute] string status, [FromBody] ReleaseStatusRequest releaseStatus) { Project project = await ProjectDataService.GetAsync(TableStorageConfig.DomainString, projectName); if (project == null) { return(new NotFoundObjectResult("Project not found")); } Release release = await ReleaseDataService.GetAsync(projectName, revisionNumber); if (release == null) { return(new NotFoundObjectResult("Revision not found")); } else { release.Status = status; release.ReleaseDataLink = releaseStatus.DataLink; await ReleaseDataService.InsertOrReplaceAsync(release); } return(Ok(release)); }