Beispiel #1
0
        protected override void ConfigureIoC(IStyletIoCBuilder builder)//2
        {
            // Configure the IoC container in here
            builder.Bind <IEventAggregator>().To <EventAggregator>().InSingletonScope();
            builder.Bind <OEEViewModel>().ToSelf();
            builder.Bind <DataStorage>().ToSelf().InSingletonScope();
            builder.Bind <ScannerService>().ToSelf().InSingletonScope();
            builder.Bind <LaserService>().ToSelf().InSingletonScope();
            builder.Bind <MaterialManager>().ToFactory(x => MaterialManager.Load()).InSingletonScope();
            builder.Bind <IMainTabViewModel>().ToAllImplementations().InSingletonScope();
            builder.Bind <Info>().ToSelf().InSingletonScope();
            builder.Bind <IByteTransform>().ToFactory(x => new ReverseWordTransform()
            {
                DataFormat = DataFormat.CDAB,
            });
            builder.Bind <IReadWriteNet>().ToFactory(x => new ModbusTcpNet("127.0.0.1")
            {
                AddressStartWithZero = false,
                DataFormat           = DataFormat.CDAB,
                IsStringReverse      = false
            });
            ILogger log = new LoggerConfiguration()
                          .WriteTo.RollingFile("log - {Date} .txt ")
                          .CreateLogger();

            builder.Bind <ILogger>().ToInstance(log);
            builder.Bind <IIoService>().To <IoService>().InSingletonScope();
            builder.Autobind();
        }
Beispiel #2
0
        protected override void ConfigureIoC(IStyletIoCBuilder builder)
        {
            builder.Bind <HttpClient>().ToFactory(container =>
            {
                var client = new HttpClient(
                    new HttpClientHandler
                {
                    ServerCertificateCustomValidationCallback = (message, certificate2, arg3, arg4) => true
                });
                client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
                return(client);
            });

            // builder.Bind<IscSdkOption>().ToSelf().InSingletonScope();

            builder.Bind <IOptions <IscSdkOption> >().To <SdkOption>().InSingletonScope();


            builder.Bind <IHikVisionApiManager>().To <HikVisionApiManager>();
            builder.Bind <IHikPmsApiManager>().To <HikPmsApiManager>();
            builder.Bind <IHikResourceApiManager>().To <HikResourceApiManager>();
            builder.Bind <IHikEventServiceApiManager>().To <HikEventServiceApiManager>();
            builder.Bind <IHikFrsApiManager>().To <HikFrsApiManager>();
            builder.Bind <IHikAcsApiManager>().To <HikAcsApiManager>();
            builder.Bind <IHikIrdsApiManager>().To <HikIrdsApiManager>();
        }
        protected override void ConfigureIoC(IStyletIoCBuilder builder)
        {
            base.ConfigureIoC(builder);

            // Bind view model factory
            builder.Bind <IViewModelFactory>().ToAbstractFactory();
        }
Beispiel #4
0
        protected override void ConfigureIoC(IStyletIoCBuilder builder)
        {
            // Configure the IoC container in here
            builder.Bind <ConfigService>().ToSelf().InSingletonScope();
            builder.Bind <LanguageService>().ToSelf().InSingletonScope();
            builder.Bind <UpdateService>().ToSelf().InSingletonScope();
            builder.Bind <ThemeService>().ToSelf().InSingletonScope();

            builder.Bind <GamePathService>().ToSelf().InSingletonScope();
            builder.Bind <DownloadUrlService>().ToSelf().InSingletonScope();
            builder.Bind <VersionService>().ToSelf().InSingletonScope();
            builder.Bind <LibraryService>().ToSelf().InSingletonScope();
            builder.Bind <AssetService>().ToSelf().InSingletonScope();
            builder.Bind <AuthService>().ToSelf().InSingletonScope();
            builder.Bind <AccountService>().ToSelf().InSingletonScope();
            builder.Bind <LaunchService>().ToSelf().InSingletonScope();
            builder.Bind <ForgeInstallService>().ToSelf().InSingletonScope();
            builder.Bind <FabricInstallService>().ToSelf().InSingletonScope();
            builder.Bind <ModService>().ToSelf().InSingletonScope();
            builder.Bind <ResourcePackService>().ToSelf().InSingletonScope();
            builder.Bind <SkinService>().ToSelf().InSingletonScope();

            // To share these two VMs among other VMs, they must be singletons
            builder.Bind <VersionsManagementViewModel>().ToSelf().InSingletonScope();
            builder.Bind <GreetingViewModel>().ToSelf().InSingletonScope();

            // Custom MessageBox
            builder.Bind <IMessageBoxViewModel>().To <MessageViewModel>();

            // Validation
            builder.Bind(typeof(IModelValidator <>)).ToAllImplementations();
        }
Beispiel #5
0
        protected override void ConfigureIoC(IStyletIoCBuilder builder)
        {
            base.ConfigureIoC(builder);

            builder.Bind <ILogger>().To <Logger>().InSingletonScope().AsWeakBinding();
            builder.Bind <IViewModelFactory>().ToAbstractFactory();
        }
Beispiel #6
0
 protected override void ConfigureIoC(IStyletIoCBuilder builder)
 {
     builder.Bind <IWindowManager>().To <WindowManager>();
     builder.Bind <LoginViewModel>().ToSelf();
     builder.Bind <RegisterViewModel>().ToSelf();
     builder.Bind <AuthViewModel>().ToSelf();
 }
Beispiel #7
0
 protected override void ConfigureIoC(IStyletIoCBuilder builder)
 {
     base.ConfigureIoC(builder);
     builder.Autobind();
     builder.Bind <IMonitorViewModelFactory>().ToAbstractFactory();
     builder.Bind <IContext>().ToInstance(new Context());
 }
        protected override void ConfigureIoC(IStyletIoCBuilder builder)
        {
            Log.Information("Configuring the IoC container.");

            // Add all Transient services to the IoC
            builder.Bind <IFilePaths>().To <FilePaths>();
            builder.Bind <IFileReader>().To <FileReader>();
            builder.Bind <IFileWriter>().To <FileWriter>();

            builder.Bind <IShareCodeConverter>().To <ShareCodeConverter>();
            builder.Bind <IProtobufConverter>().To <ProtobufConverter>();

            builder.Bind <IBoilerProcess>().To <BoilerProcess>();
            builder.Bind <ISteamApi>().To <SteamApi>();

            // Add all Singleton services to the IoC
            builder.Bind <IUploader>().To <Uploader>().InSingletonScope();

            // Add all other Singleton classes to the IoC
            builder.Bind <BoilerClientViewModel>().ToSelf().InSingletonScope();
            builder.Bind <TrayIconViewModel>().ToSelf().InSingletonScope();

            // Add static httpclient
            builder.Bind <IHttpClient>().ToInstance(new HttpClientFacade());

            Log.Information("Finished configuring the IoC container.");
        }
        protected override void ConfigureIoC(IStyletIoCBuilder builder)
        {
            base.ConfigureIoC(builder);
            // Bind your own types. Concrete types are automatically self-bound.

            //get settings service
            builder.Bind <ISettings>().To <AppSettingService>().InSingletonScope();
            builder.Bind <ILogger>().To <NLogLogger>().InSingletonScope();
            //load settings
            ioc      = builder.BuildContainer();
            settings = ioc.Get <ISettings>().Load();
            //
            //bind logger service

            //bind Notification service with account settings value
            builder.Bind <INotification>().ToFactory(container => new NotificationTelegramService(settings.NotificationAccount, container.Get <ILogger>()));
            builder.Bind <ISender>().ToFactory(container => new SenderWebService(settings.MainAccount));
            //builder.Bind<ISender>().To<SenderTestService>();
            builder.Bind <NotificationAccountSettings>().ToFactory(container => settings.NotificationAccount);
            builder.Bind <MainAccount>().ToFactory(container => settings.MainAccount);
            builder.Bind <AppSettingsModel>().ToFactory(container => settings);
            builder.Bind <IReaderMails>().To <ReaderMailsService>().InSingletonScope();
            builder.Bind <IDialogService>().To <DefaultDialogService>();
            //builder.Bind<ILoadReceivers>().To<ReceiverLoaderExel>();
            builder.Bind <ILoadReceivers>().To <LoadSaveReceiversSqlite>();

            builder.Bind <BindableCollection <Receiver> >().ToFactory(container => new BindableCollection <Receiver>()).InSingletonScope();

            ioc = builder.BuildContainer();
        }
Beispiel #10
0
        protected override void ConfigureIoC(IStyletIoCBuilder builder)
        {
            _logger.LogInformation("Configuring IoC");

            _logger.LogInformation("Setting {type}", typeof(StartupInfo).ToString());
            var startup = new StartupInfo
            {
                Args = Args
            };

            startup.StartMinmized = Args.Contains("minimized");
            builder.Bind <StartupInfo>().ToInstance(startup);

            builder.Bind <Func <Type, ILogger> >().ToInstance(_createLogger);

            builder.Bind <IEntropy>().ToInstance(new AssemblyNameEntropy());

            // Configure the IoC container in here
            foreach (StyletIoCModule item in s_iocModules)
            {
                _logger?.LogDebug("Adding {iocmodule}: '{module}'", nameof(StyletIoCModule), item.TypeName());
                builder.AddModule(item);
            }

            builder.Bind <Tick>().ToSelf().InSingletonScope();
        }
Beispiel #11
0
        protected override void ConfigureIoC(IStyletIoCBuilder builder)
        {
            base.ConfigureIoC(builder);

            // Bind view model factory
            builder.Bind <IViewModelFactory>().ToAbstractFactory();

            // and factory for individual stream pages
            builder.Bind <IStreamViewModelFactory>().ToAbstractFactory();

            // and factory for dialog modals (eg create stream)
            builder.Bind <IDialogFactory>().ToAbstractFactory();

            // and factory for repositories
            builder.Bind <StreamsRepository>().ToSelf();
            builder.Bind <AccountsRepository>().ToSelf();

            // and finally the external bindings (eg from Revit, Rhino, etc)
            builder.Bind <ConnectorBindings>().ToFactory(container =>
            {
                var bindings = Bindings;
                container.BuildUp(bindings); // build with ioc to make use of injection
                return(bindings);
            });
        }
Beispiel #12
0
        public static void BindTestServices(IStyletIoCBuilder builder)
        {
            var allTypes = AppDomain.CurrentDomain.GetAssemblies()
                           .Where(a => !a.GlobalAssemblyCache)
                           .SelectMany(x => x.GetTypes());
            var loadedTypes             = allTypes.Where(t => t.GetInterface("ITestImplementationOf`1") == null);
            var loadedServiceInterfaces = loadedTypes.Where(t => t.IsInterface && t.GetInterface(nameof(IService)) != null);

            var fakeTypes = allTypes.Where(t => t.IsClass && !t.IsAbstract && t.GetInterface("ITestImplementationOf`1") != null);
            var realToFakeTypeDictionary = new Dictionary <Type, Type>();

            foreach (var fakeType in fakeTypes)
            {
                var realType = fakeType.GetInterface("ITestImplementationOf`1").GetGenericArguments()[0];
                try
                {
                    realToFakeTypeDictionary.Add(realType, fakeType);
                }
                catch (ArgumentException e)
                {
                    throw new ArgumentException($"There is already a test implementation of {realType.Name}, that has been provided by {realToFakeTypeDictionary[realType].Name}. {fakeType.Name} needs to be removed.", e);
                }
            }

            foreach (var loadedService in loadedServiceInterfaces)
            {
                BindEverythingThatImplementsInterface(loadedService, builder, loadedTypes, realToFakeTypeDictionary);
            }
        }
        //protected override void OnStart()
        //{
        //	This is called just after the application is started, but before the IoC container is set up.
        //	Set up things like logging, etc
        //}

        protected override void ConfigureIoC(IStyletIoCBuilder builder)
        {
            // Bind your own types. Concrete types are automatically self-bound.
            builder.Bind(typeof(IModelValidator <>)).To(typeof(ValidationAdapter <>));
            builder.Bind(typeof(IValidator <>)).ToAllImplementations();
            builder.Bind(typeof(TabItem)).ToAllImplementations();
        }
Beispiel #14
0
 protected override void ConfigureIoC(IStyletIoCBuilder builder)
 {
     builder.Bind <NavigationController>().And <INavigationController>().To <NavigationController>().InSingletonScope();
     // https://github.com/canton7/Stylet/issues/24
     builder.Bind <Func <Page1ViewModel> >().ToFactory <Func <Page1ViewModel> >(c => () => c.Get <Page1ViewModel>());
     builder.Bind <Func <Page2ViewModel> >().ToFactory <Func <Page2ViewModel> >(c => () => c.Get <Page2ViewModel>());
 }
Beispiel #15
0
 protected override void ConfigureIoC(IStyletIoCBuilder builder)
 {
     // Configure the IoC container in here
     builder.Bind <IDialogCoordinator>().ToInstance(DialogCoordinator.Instance);
     builder.Bind(typeof(IModelValidator <>)).To(typeof(FluentModelValidator <>));
     builder.Bind(typeof(IValidator <>)).ToAllImplementations();
 }
Beispiel #16
0
        protected override void ConfigureIoC(IStyletIoCBuilder builder)
        {
            builder.Bind <IAuthenticationStrategy>()
            .To <DefaultAuthenticationStrategy>()
            .InSingletonScope();

            builder.Bind <ISessionProvider>()
            .To <SessionProvider>()
            .InSingletonScope();

            builder.Bind <ILocalDBStorageLocationStrategy>()
            .ToInstance(
                new PortableLocalDBStorageLocationStrategy("Videothek.Production.sqlite")
                );

            builder.Bind <Database>()
            .ToSelf()
            .InSingletonScope();

            builder.Bind(typeof(Repository <>))
            .ToSelf();


            //User Level Services
            builder.Bind <UserService>()
            .ToSelf();
            builder.Bind <VideoService>()
            .ToSelf();
            builder.Bind <RentalService>()
            .ToSelf();
        }
Beispiel #17
0
 protected override void ConfigureIoC(IStyletIoCBuilder builder)
 {
     this.ConfigureIoCCalled = true;
     builder.Bind <I1>().To <C1>();
     // Singleton, so we can test against it
     builder.Bind <RootViewModel>().ToInstance(this.MyRootViewModel).DisposeWithContainer(false);
     base.ConfigureIoC(builder);
 }
Beispiel #18
0
 protected override void ConfigureIoC(IStyletIoCBuilder builder)
 {
     // Configure the IoC container in here
     builder.Bind(typeof(IModelValidator <>)).To(typeof(FluentModelValidator <>));
     builder.Bind(typeof(IValidator <>)).ToAllImplementations();
     builder.Bind <IViewModelsFactory>().ToAbstractFactory();
     builder.Bind <LoginViewModel>().ToSelf().InSingletonScope();
 }
Beispiel #19
0
 protected override void ConfigureIoC(IStyletIoCBuilder builder)
 {
     base.ConfigureIoC(builder);
     builder.Bind <ITabFinder>().To <FirefoxTabFinder>().WithKey("Firefox");
     builder.Bind <ITabFinder>().To <ChromeTabFinder>().WithKey("Chrome");
     builder.Bind <IBrowserTabFinder>().To <BrowserTabFinder>().InSingletonScope();
     builder.Bind <ITabFactory>().ToAbstractFactory();
     builder.AddModule(new SettingsModule());
 }
Beispiel #20
0
        protected override void ConfigureIoC(IStyletIoCBuilder builder)
        {
            base.ConfigureIoC(builder);

            builder.Bind <IDefaultsData>().To <DefaultsData>();
            builder.Bind <IClientData>().To <ClientData>();
            builder.Bind <IPaymentData>().To <PaymentData>();
            builder.Bind <IWorkData>().To <WorkData>();
        }
 protected override void ConfigureIoC(IStyletIoCBuilder builder)
 {
     // Configure the IoC container in here
     builder.Bind <IDataAccess>().To <DataRetriever>();
     builder.Bind <ILoginController>().To <LoginController>();
     builder.Bind <IIssueAccessHandler>().To <IssueAccessHandler>();
     builder.Bind <ILoginHandler>().To <LoginHandler>();
     builder.Bind <IUserAccessHandler>().To <UserAccessHandler>();
 }
Beispiel #22
0
        protected override void ConfigureIoC(IStyletIoCBuilder builder)
        {
            builder.Bind <IApplicationState>().ToInstance(new ApplicationState(this.Application));
            builder.Bind <IApplicationWindowState>().To <ApplicationWindowState>().InSingletonScope();
            builder.Bind <IFocusWindowProvider>().ToInstance(new FocusWindowProvider(this.Application));
            builder.Bind <IUserActivityMonitor>().To <UserActivityMonitor>().InSingletonScope();
            builder.Bind <IConfigurationProvider>().To <ConfigurationProvider>().InSingletonScope();
            builder.Bind <IApplicationPathsProvider>().To <ApplicationPathsProvider>().InSingletonScope();
            builder.Bind <IAssemblyProvider>().To <AssemblyProvider>().InSingletonScope();
            builder.Bind <IAutostartProvider>().To <AutostartProvider>().InSingletonScope();
            builder.Bind <ConfigurationApplicator>().ToSelf().InSingletonScope();
            builder.Bind <ISyncthingApiClientFactory>().To <SyncthingApiClientFactory>();
            builder.Bind <ISyncthingEventWatcherFactory>().To <SyncthingEventWatcherFactory>();
            builder.Bind <ISyncthingProcessRunner>().To <SyncthingProcessRunner>().InSingletonScope();
            builder.Bind <ISyncthingManager>().To <SyncthingManager>().InSingletonScope();
            builder.Bind <ISyncthingConnectionsWatcherFactory>().To <SyncthingConnectionsWatcherFactory>();
            builder.Bind <IFreePortFinder>().To <FreePortFinder>().InSingletonScope();
            builder.Bind <INotifyIconManager>().To <NotifyIconManager>().InSingletonScope();
            builder.Bind <IWatchedFolderMonitor>().To <WatchedFolderMonitor>().InSingletonScope();
            builder.Bind <IUpdateManager>().To <UpdateManager>().InSingletonScope();
            builder.Bind <IUpdateDownloader>().To <UpdateDownloader>().InSingletonScope();
            builder.Bind <IUpdateCheckerFactory>().To <UpdateCheckerFactory>();
            builder.Bind <IUpdatePromptProvider>().To <UpdatePromptProvider>();
            builder.Bind <IUpdateNotificationClientFactory>().To <UpdateNotificationClientFactory>();
            builder.Bind <IInstallerCertificateVerifier>().To <InstallerCertificateVerifier>().InSingletonScope();
            builder.Bind <IProcessStartProvider>().To <ProcessStartProvider>().InSingletonScope();
            builder.Bind <IFilesystemProvider>().To <FilesystemProvider>().InSingletonScope();
            builder.Bind <IConflictFileManager>().To <ConflictFileManager>(); // Could be singleton... Not often used
            builder.Bind <IConflictFileWatcher>().To <ConflictFileWatcher>().InSingletonScope();
            builder.Bind <IAlertsManager>().To <AlertsManager>().InSingletonScope();
            builder.Bind <IIpcCommsClientFactory>().To <IpcCommsClientFactory>().InSingletonScope();
            builder.Bind <IIpcCommsServer>().To <IpcCommsServer>().InSingletonScope();
            builder.Bind <IFileWatcherFactory>().To <FileWatcherFactory>();
            builder.Bind <IDirectoryWatcherFactory>().To <DirectoryWatcherFactory>();
            builder.Bind <INetworkCostManager>().To <NetworkCostManager>();
            builder.Bind <IMeteredNetworkManager>().To <MeteredNetworkManager>().InSingletonScope();
            builder.Bind <IPathTransformer>().To <PathTransformer>().InSingletonScope();
            builder.Bind <IConnectedEventDebouncer>().To <ConnectedEventDebouncer>();
            builder.Bind <IDonationManager>().To <DonationManager>().InSingletonScope();

            if (AppSettings.Instance.Variant == SyncTrayzorVariant.Installed)
            {
                builder.Bind <IUpdateVariantHandler>().To <InstalledUpdateVariantHandler>();
            }
            else if (AppSettings.Instance.Variant == SyncTrayzorVariant.Portable)
            {
                builder.Bind <IUpdateVariantHandler>().To <PortableUpdateVariantHandler>();
            }
            else
            {
                Trace.Assert(false);
            }

            builder.Bind(typeof(IModelValidator <>)).To(typeof(FluentModelValidator <>));
            builder.Bind(typeof(IValidator <>)).ToAllImplementations();
        }
        /// <summary>
        /// Binds all interfaces that implement <see cref="ISingletonService"/> to thier implementations.
        /// </summary>
        /// <param name="builder">The IoC container builder.</param>
        public static void BindServices(IStyletIoCBuilder builder)
        {
            IEnumerable <Type> loadedTypes = GetAllLoadedNonTestTypes();
            var loadedServiceInterfaces    = loadedTypes.Where(t => t.IsInterface && t.GetInterface(nameof(ISingletonService)) != null);

            foreach (var loadedService in loadedServiceInterfaces)
            {
                BindEverythingThatImplementsInterfaceAsASingleton(loadedService, builder, loadedTypes, new Dictionary <Type, Type>());
            }
        }
        protected override void ConfigureIoC(IStyletIoCBuilder builder)
        {
            base.ConfigureIoC(builder);

            // Bind settings as singleton
            builder.Bind <SettingsService>().ToSelf().InSingletonScope();

            // Bind view model factory
            builder.Bind <IViewModelFactory>().ToAbstractFactory();
        }
        protected override void ConfigureIoC(IStyletIoCBuilder builder)
        {
            builder.Bind <ExileEngine>().ToInstance(new ExileEngine(Settings.Default.UserAgent));

            builder.Bind <BaseTabViewModel>().ToAllImplementations();
            builder.Bind <ISnackbarMessageQueue>().ToInstance(new SnackbarMessageQueue(TimeSpan.FromSeconds(3)));
            builder.Bind <IWindowFactory>().ToAbstractFactory();

            builder.Bind <AppWindowManager>().ToSelf().InSingletonScope();
        }
Beispiel #26
0
        protected override void ConfigureIoC(IStyletIoCBuilder builder)
        {
            BootstrapperUtilities.BindServices(builder);
            BootstrapperUtilities.LoadColorInformation();

            builder.Bind <IViewManager>().To <DiiagramrViewManager>().InSingletonScope();
            builder.Assemblies.Add(Assembly.Load(nameof(DiiagramrAPI)));
            builder.Bind <LibraryManagerWindowViewModel>().To <LibraryManagerWindowViewModel>().InSingletonScope();
            builder.Bind <IShell>().To <DiiagramrAPI.Shell.Shell>().InSingletonScope();
        }
        protected override void ConfigureIoC(IStyletIoCBuilder builder)
        {
            base.ConfigureIoC(builder);

            builder.Autobind(typeof(SettingsManager).Assembly);

            builder.Bind <SettingsManager>().ToSelf().InSingletonScope();

            //This is probably bad, but I'm not sure the best way to use the IoC
            builder.Bind <SettingsViewModel>().ToSelf().InSingletonScope();
        }
Beispiel #28
0
        protected override void ConfigureIoC(IStyletIoCBuilder builder)
        {
            // Configure the IoC container in here
            base.ConfigureIoC(builder);

            builder.Bind <IViewModelFactory>().ToAbstractFactory();
            builder.Bind <IDialogModelFactory>().ToAbstractFactory();

            builder.Bind(typeof(IModelValidator <>)).To(typeof(FluentModelValidator <>));
            builder.Bind(typeof(IValidator <>)).ToAllImplementations();
        }
        protected override void ConfigureIoC(IStyletIoCBuilder builder)
        {
//            builder.Bind<IRestApi>().To<DummyRestApi>();
            builder.Bind <IRestApi>().To <RestApi>().InSingletonScope();
            builder.Bind <HeroItemUtil>().ToSelf().InSingletonScope();
            builder.Bind <MapItemUtil>().ToSelf().InSingletonScope();
            builder.Bind <ISecurityProvider>().To <SecurityProvider>().InSingletonScope();
            builder.Bind <IHeroSelectorViewModelFactory>().ToAbstractFactory();
            builder.Bind <IMapSelectorViewModelFactory>().ToAbstractFactory();
            builder.Bind <ShellViewModel.IWebFileUpdaterViewModelFactory>().ToAbstractFactory();
            builder.Bind <ShellViewModel.IBpViewModelFactory>().ToAbstractFactory();
        }
Beispiel #30
0
        protected override void ConfigureIoC(IStyletIoCBuilder builder)
        {
            builder.Bind <IRestApi>().To <RestApi>().InSingletonScope();
            builder.Bind <HeroItemUtil>().ToSelf().InSingletonScope();
            builder.Bind <MapItemUtil>().ToSelf().InSingletonScope();
            builder.Bind <ISecurityProvider>().To <SecurityProvider>().InSingletonScope();
            builder.Bind <IToastService>().To <ToastService>().InSingletonScope();

            RegisterViewModelFactories(builder);

            builder.Bind <IImageUtil>().To <ImageUtils>();
        }