public async Task UpdateDataStageAsync(Guid releaseId, Guid releaseStatusId, ReleaseStatusDataStage stage, ReleaseStatusLogMessage logMessage = null) { await UpdateRowAsync(releaseId, releaseStatusId, row => { row.State.Data = stage; if (stage == ReleaseStatusDataStage.Complete) { // In case this was a retry, reinstate publishing if possible var(publishing, overall) = GetStatesForReinstatingAfterPossibleRetry(row); row.State.Publishing = publishing; row.State.Overall = overall; } row.AppendLogMessage(logMessage); return(row); }); if (stage == ReleaseStatusDataStage.Failed) { await CancelReleasesWithContentDependency(releaseId, releaseStatusId); } if (stage == ReleaseStatusDataStage.Complete) { // In case this was a retry, reinstate publishing of any other releases that were cancelled if possible await ReinstateReleasesWithContentDependency(releaseId, releaseStatusId); } }
private async Task UpdateStage(IEnumerable <ReleaseStatus> releaseStatuses, ReleaseStatusPublishingStage stage, ReleaseStatusLogMessage logMessage = null) { foreach (var releaseStatus in releaseStatuses) { await UpdateStage(releaseStatus, stage, logMessage); } }
private async Task UpdateStage(GenerateReleaseContentMessage message, ReleaseStatusContentStage stage, ReleaseStatusLogMessage logMessage = null) { foreach (var(releaseId, releaseStatusId) in message.Releases) { await _releaseStatusService.UpdateContentStageAsync(releaseId, releaseStatusId, stage, logMessage); } }
public async Task UpdateFilesStageAsync(Guid releaseId, Guid releaseStatusId, ReleaseStatusFilesStage stage, ReleaseStatusLogMessage logMessage = null) { await UpdateRowAsync(releaseId, releaseStatusId, row => { row.State.Files = stage; row.AppendLogMessage(logMessage); return(row); }); }
public async Task UpdateStagesAsync(Guid releaseId, Guid releaseStatusId, ReleaseStatusContentStage?content = null, ReleaseStatusDataStage?data = null, ReleaseStatusFilesStage?files = null, ReleaseStatusPublishingStage?publishing = null, ReleaseStatusOverallStage?overall = null, ReleaseStatusLogMessage logMessage = null) { await UpdateRowAsync(releaseId, releaseStatusId, row => { if (content.HasValue) { row.State.Content = content.Value; } if (data.HasValue) { row.State.Data = data.Value; } if (files.HasValue) { row.State.Files = files.Value; } if (publishing.HasValue) { row.State.Publishing = publishing.Value; } if (overall.HasValue) { row.State.Overall = overall.Value; } row.AppendLogMessage(logMessage); return(row); }); }
private async Task UpdateStage(Guid releaseId, Guid releaseStatusId, State state, ReleaseStatusLogMessage logMessage = null) { switch (state) { case State.Started: await _releaseStatusService.UpdateStagesAsync(releaseId, releaseStatusId, logMessage : logMessage, publishing : ReleaseStatusPublishingStage.Started, content : ReleaseStatusContentStage.Started); break; case State.Complete: await _releaseStatusService.UpdateStagesAsync(releaseId, releaseStatusId, logMessage : logMessage, publishing : ReleaseStatusPublishingStage.Complete, content : ReleaseStatusContentStage.Complete); break; case State.Failed: await _releaseStatusService.UpdateStagesAsync(releaseId, releaseStatusId, logMessage : logMessage, publishing : ReleaseStatusPublishingStage.Failed, content : ReleaseStatusContentStage.Failed); break; default: throw new ArgumentOutOfRangeException(nameof(state), state, null); } }
private async Task UpdateStage(Guid releaseId, Guid releaseStatusId, ReleaseStatusFilesStage stage, ReleaseStatusLogMessage logMessage = null) { await _releaseStatusService.UpdateFilesStageAsync(releaseId, releaseStatusId, stage, logMessage); }
private async Task UpdateStage(PublishReleaseDataMessage message, ReleaseStatusDataStage stage, ReleaseStatusLogMessage logMessage = null) { await _releaseStatusService.UpdateDataStageAsync(message.ReleaseId, message.ReleaseStatusId, stage, logMessage); }
private async Task UpdateStage(ReleaseStatus releaseStatus, ReleaseStatusPublishingStage stage, ReleaseStatusLogMessage logMessage = null) { await _releaseStatusService.UpdatePublishingStageAsync(releaseStatus.ReleaseId, releaseStatus.Id, stage, logMessage); }