Ejemplo n.º 1
0
        public override void Load()
        {
            Bind <IMappingEngine>()
            .ToMethod(x => MappingEngineConfiguration.CreateEngine(new MainProfile()));

            Bind <IHashBuilder>().To <HashBuilder>();
            Bind <IImageRepository>().To <ImageRepository>();
            Bind <ImageService>().ToSelf();
            Bind <MessageAdapter>().ToSelf();
            Bind <ImageContextFactory>().ToSelf();
            Bind <IUserRepository>().To <UserRepository>().InSingletonScope();
            Bind <SettingsProvider>().ToSelf();
            Bind <ImagePrinter>().ToSelf();
            Bind <InstagramExplorer>().ToSelf();
            Bind <QueueUtilizerFactory>().ToSelf();
            Bind <MonitoringService>().ToSelf();
        }
Ejemplo n.º 2
0
        public override void Load()
        {
            Bind <IMappingEngine>()
            .ToMethod(x => MappingEngineConfiguration.CreateEngine(new MainProfile()));
            //.WhenInjectedExactlyInto<PatternViewModelProvider>();

            Bind <IPatternDataProvider>().To <PatternDataProvider>();
            Bind <IImageDataProvider>().To <ImageDataProvider>();
            Bind <IImageRepository>().To <ImageRepository>();
            Bind <IUserRepository>().To <UserRepository>().InSingletonScope();

            Bind <SettingsProvider>().ToSelf();
            Bind <PatternViewModelProvider>().ToSelf();
            Bind <PrinterMessageProvider>().ToSelf();

            Bind <IPatternRepository>().To <PatternRepository>();
            Bind <PatternManageViewModelProvider>().ToSelf();

            Bind <QueueListenerFactory>().ToSelf();
            Bind <PrinterActivityViewerViewModelFactory>().ToSelf();

            Bind <ImagePrinter>().ToSelf();
            Bind <InstagramExplorer>().ToSelf();
            Bind <MainViewModel>().ToSelf();
            Bind <WelcomeViewModel>().ToSelf();
            Bind <CompositionModelProcessorFactory>().ToSelf();
            Bind <WelcomeViewModelFactory>().ToSelf();
            Bind <SelectPatternViewModelFactory>().ToSelf();
            Bind <CameraViewModelFactory>().ToSelf();
            Bind <SelectActivityViewModelFactory>().ToSelf();
            Bind <ImportPatternsViewModelFactory>().ToSelf();
            Bind <InstagramExplorerViewModelFactory>().ToSelf();
            Bind <ImageUtils>().ToSelf();


            Bind <IViewModelNavigator>().To <ViewModelNavigator>()
            .WithConstructorArgument(typeof(IChildrenViewModelsFactory),
                                     x => new ChildrenViewModelsFactory(Enumerable.Empty <IViewModelFactory>()));

            Bind <IChildrenViewModelsFactory>()
            .ToMethod(
                x =>
            {
                var children = new List <IViewModelFactory>
                {
                    x.Kernel.Get <InfoDialogViewModelFactory>(),
                    x.Kernel.Get <ConfirmDialogViewModelFactory>(),
                };

                return(new ChildrenViewModelsFactory(children));
            })
            .WhenInjectedExactlyInto <DialogService>();

            Bind <IViewModelNavigator>()
            .To <ViewModelNavigator>()
            .WhenInjectedExactlyInto <MainViewModel>()
            .WithConstructorArgument(typeof(IChildrenViewModelsFactory),
                                     x =>
            {
                var children = new List <IViewModelFactory>
                {
                    x.Kernel.Get <SelectActivityViewModelFactory>(),
                    //x.Kernel.Get<WelcomeViewModelFactory>(),
                };

                return(new ChildrenViewModelsFactory(children));
            });

            Bind <IViewModelNavigator>()
            .To <ViewModelNavigator>()
            .WhenInjectedExactlyInto <WelcomeViewModelFactory>()
            .WithConstructorArgument(typeof(IChildrenViewModelsFactory),
                                     x =>
            {
                var children = new List <IViewModelFactory>
                {
                    x.Kernel.Get <SelectActivityViewModelFactory>(),
                };

                return(new ChildrenViewModelsFactory(children));
            });

            Bind <IViewModelNavigator>()
            .To <ViewModelNavigator>()
            .WhenInjectedExactlyInto <SelectActivityViewModelFactory>()
            .WithConstructorArgument(typeof(IChildrenViewModelsFactory),
                                     x =>
            {
                var children = new List <IViewModelFactory>
                {
                    x.Kernel.Get <SelectPatternViewModelFactory>(),
                    x.Kernel.Get <ImportPatternsViewModelFactory>(),
                    x.Kernel.Get <InstagramExplorerViewModelFactory>(),
                    x.Kernel.Get <PrinterActivityViewerViewModelFactory>(),
                };

                return(new ChildrenViewModelsFactory(children));
            });

            Bind <IViewModelNavigator>()
            .To <ViewModelNavigator>()
            .WhenInjectedExactlyInto <SelectPatternViewModelFactory>()
            .WithConstructorArgument(typeof(IChildrenViewModelsFactory),
                                     x =>
            {
                var children = new List <IViewModelFactory>
                {
                    x.Kernel.Get <CameraViewModelFactory>(),
                };

                return(new ChildrenViewModelsFactory(children));
            });

            Bind <IViewModelNavigator>()
            .To <ViewModelNavigator>()
            .WhenInjectedExactlyInto <CameraViewModelFactory>()
            .WithConstructorArgument(typeof(IChildrenViewModelsFactory),
                                     x =>
            {
                var children = new List <IViewModelFactory>
                {
                    x.Kernel.Get <CameraResultViewModelFactory>(),
                };

                return(new ChildrenViewModelsFactory(children));
            });
        }
Ejemplo n.º 3
0
        public override void Load()
        {
            Bind <IMappingEngine>()
            .ToMethod(x => MappingEngineConfiguration.CreateEngine(new MainProfile()));

            Bind <SessionService>().ToSelf();
            Bind <ImagePrinter>().ToSelf();
            Bind <SettingsProvider>().ToSelf();
            Bind <TemplateViewModelProvider>().ToSelf();
            Bind <TemplateProviderFactory>().ToSelf();

            Bind <IImageRepository>().To <ImageRepository>();
            Bind <IUserRepository>().To <UserRepository>().InSingletonScope();

            Bind <SchedulerService>().ToSelf();

            Bind <IImageRepositoryFactory>().To <ImageRepositoryFactory>();
            Bind <ImageContextFactory>().ToSelf();

            Bind <MainViewModel>().ToSelf();
            Bind <WelcomeViewModel>().ToSelf();
            Bind <WelcomeViewModelFactory>().ToSelf();
            Bind <ModuleManagedViewModel>().ToSelf();

            Bind <TemplateExplorerViewModel>().ToSelf();
            Bind <TemplateExplorerViewModelFactory>().ToSelf();

            Bind <StatsViewModelFactory>().ToSelf();
            Bind <TemplateEditorViewModel>().ToSelf();
            Bind <TemplateEditorViewModelFactory>().ToSelf();

            Bind <IChildrenViewModelsFactory>()
            .ToMethod(
                x =>
            {
                var children = new List <IViewModelFactory>
                {
                    x.Kernel.Get <InfoDialogViewModelFactory>(),
                    x.Kernel.Get <ConfirmDialogViewModelFactory>(),
                    x.Kernel.Get <ResultDialogViewModelFactory>(),
                };

                return(new ChildrenViewModelsFactory(children));
            })
            .WhenInjectedExactlyInto <DialogService>();

            Bind <IViewModelNavigator>().To <ViewModelNavigator>()
            .WithConstructorArgument(typeof(IChildrenViewModelsFactory),
                                     x => new ChildrenViewModelsFactory(Enumerable.Empty <IViewModelFactory>()));

            Bind <IViewModelNavigator>()
            .To <ViewModelNavigator>()
            .WhenInjectedExactlyInto <MainViewModel>()
            .WithConstructorArgument(typeof(IChildrenViewModelsFactory),
                                     x =>
            {
                var children = new List <IViewModelFactory>
                {
                    //x.Kernel.Get<WelcomeViewModelFactory>(), //temporary
                    x.Kernel.Get <PasswordPromptViewModelFactory>()
                };

                return(new ChildrenViewModelsFactory(children));
            });

            Bind <IViewModelNavigator>()
            .To <ViewModelNavigator>()
            .WhenInjectedExactlyInto <PasswordPromptViewModelFactory>()
            .WithConstructorArgument(typeof(IChildrenViewModelsFactory),
                                     x =>
            {
                var children = new List <IViewModelFactory>
                {
                    x.Kernel.Get <WelcomeViewModelFactory>()
                };

                return(new ChildrenViewModelsFactory(children));
            });

            Bind <IViewModelNavigator>()
            .To <ViewModelNavigator>()
            .WhenInjectedExactlyInto <WelcomeViewModelFactory>()
            .WithConstructorArgument(typeof(IChildrenViewModelsFactory),
                                     x =>
            {
                var children = new List <IViewModelFactory>
                {
                    x.Kernel.Get <TemplateExplorerViewModelFactory>(),
                    x.Kernel.Get <AppSettingsExplorerViewModelFactory>(),
                    x.Kernel.Get <CameraSettingsExplorerViewModelFactory>(),
                    x.Kernel.Get <CompositionsExplorerViewModelFactory>(),
                    x.Kernel.Get <ThemeManagerViewModelFactory>(),
                    x.Kernel.Get <CurrentSessionViewModelFactory>(),
                    x.Kernel.Get <ChangePasswordViewModelFactory>(),
                    x.Kernel.Get <ModuleManagedViewModelFactory>()
                };

                return(new ChildrenViewModelsFactory(children));
            });

            Bind <IViewModelNavigator>()
            .To <ViewModelNavigator>()
            .WhenInjectedExactlyInto <TemplateExplorerViewModelFactory>()
            .WithConstructorArgument(typeof(IChildrenViewModelsFactory),
                                     x =>
            {
                var children = new List <IViewModelFactory>
                {
                    x.Kernel.Get <TemplateEditorViewModelFactory>()
                };

                return(new ChildrenViewModelsFactory(children));
            });

            Bind <IViewModelNavigator>()
            .To <ViewModelNavigator>()
            .WhenInjectedExactlyInto <StatsViewModelFactory>()
            .WithConstructorArgument(typeof(IChildrenViewModelsFactory),
                                     x =>
            {
                var children = new List <IViewModelFactory>
                {
                    x.Kernel.Get <CurrentSessionViewModelFactory>()
                };

                return(new ChildrenViewModelsFactory(children));
            });

            Bind <IViewModelNavigator>()
            .To <ViewModelNavigator>()
            .WhenInjectedExactlyInto <CompositionsExplorerViewModelFactory>()
            .WithConstructorArgument(typeof(IChildrenViewModelsFactory),
                                     x =>
            {
                var children = new List <IViewModelFactory>
                {
                    x.Kernel.Get <CompositionsEditorViewModelFactory>()
                };

                return(new ChildrenViewModelsFactory(children));
            });
        }