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); } }
public ReleaseStatusState(ReleaseStatusContentStage content, ReleaseStatusFilesStage files, ReleaseStatusDataStage data, ReleaseStatusPublishingStage publishing, ReleaseStatusOverallStage overall) { _content = content; _files = files; _data = data; _publishing = publishing; _overall = overall; }
private async Task UpdateStage(PublishReleaseDataMessage message, ReleaseStatusDataStage stage, ReleaseStatusLogMessage logMessage = null) { await _releaseStatusService.UpdateDataStageAsync(message.ReleaseId, message.ReleaseStatusId, stage, logMessage); }
private static string FilterDataStageEquals(ReleaseStatusDataStage stage) => GenerateFilterCondition(nameof(ReleaseStatus.DataStage), Equal, stage.ToString());