Skip to content

Can anybody tell me why I only get one object in the accumulator? #68

Description

@UMDev-Brian
public sealed class SetupSteps : List<ISetupStep>;
var config = DI.Setup(nameof(Composition))
.Accumulate<ISetupStep, SetupSteps>(Lifetime.Transient)
.Bind<ISetupStep>().As(Lifetime.Transient).To<LoadConfigs>()
.Bind<ISetupStep>().As(Lifetime.Transient).To<CoreSetupStep>()
.Root<(ISetupStep step, SetupSteps steps)>("Root")

The objects in question:

public abstract class SetupStep : ISetupStep
{
   //protected Composition _composition;
    // public SetupStep(Composition composition)
    // {
    //     _composition = composition;
    // }

    public abstract bool IsComplete();
    public abstract Task<bool> RunAsync(Composition composition, INavigationService frame);
}

public sealed class CoreSetupStep : SetupStep
{
    //public CoreSetupStep(Composition composition) : base(composition) { }
    public override bool IsComplete()
    {
        return true;
    }

    public override async Task<bool> RunAsync(Composition composition, INavigationService frame)
    {
        //do core setup
        return true;
    }

}

public sealed class LoadConfigs : SetupStep
{
   // public LoadConfigs(Composition composition) : base(composition) { }
    
    public override bool IsComplete()
    {
        return false;
        // return _composition.Settings == null || _composition.Settings.DbConfig == null || _composition.Settings.SquareConfig == null ||
        //        _composition.Settings.AzureConfig == null;
    }

    public override Task<bool> RunAsync(Composition composition, INavigationService frame)
    {
        //_composition = composition;
        //do services setup
        FlourishSettingsProvider.Initialize(composition);//TODO: this could be async
        return Task.FromResult(IsComplete());
    }

}

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

questionFurther information is requested

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions