Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        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));
        }