コード例 #1
0
        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);
            }
        }
コード例 #2
0
 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);
 }
コード例 #4
0
 private static string FilterDataStageEquals(ReleaseStatusDataStage stage) =>
 GenerateFilterCondition(nameof(ReleaseStatus.DataStage), Equal, stage.ToString());