public override async Task InitializeAsync(IUpgradeContext context, CancellationToken token) { await base.InitializeAsync(context, token).ConfigureAwait(false); // Normally, the upgrader will apply steps one at a time // at the user's instruction. In the case of parent and child steps, // the parent has any top-level application done after the children. // In the case of the ConfigUpdateStep, the parent (this step's parent) // doesn't need to apply anything. // Therefore, automatically apply the parent ConfigUpdaterStep's updater // once all its children have been applied. if (_parentStep.SubSteps.All(s => s.IsDone)) { await _parentStep.ApplyAsync(context, token).ConfigureAwait(false); } }
public override async Task <bool> ExecuteAsync(IUpgradeContext context, CancellationToken token) { return(await _step.ApplyAsync(context, token).ConfigureAwait(false)); }