Skip to content

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

@UMDev-Brian

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());
    }

}

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