Beispiel #1
0
        /// <summary>
        ///  This method register global services provided to to the module.
        /// </summary>
        protected override void ConfigureContainer()
        {
            logger.Debug("Configure Prism Container");
            base.ConfigureContainer();
            try
            {
                Container.RegisterType <IRegionNavigationContentLoader, ScopedRegionNavigationContentLoader>(new ContainerControlledLifetimeManager());

                /*
                 * IUnityContainer unityContainer, IDataServices dataServices, IDialogService dialog, ISqlExecutor executor)
                 */

                string   connParams = ConnectionString;
                object[] dbParams   = new object[1];
                dbParams[0] = connParams;
                InjectionConstructor injectionConstructorDb = new InjectionConstructor(dbParams);
                Container.RegisterType <ISqlExecutor, OleDbExecutor>(new ContainerControlledLifetimeManager(), injectionConstructorDb);
                object[] values = new object[1];
                values[0] = Container.Resolve <ISqlExecutor>();
                InjectionConstructor injectionConstructor = new InjectionConstructor(values);
                logger.Debug("Registering types in the dependency injection...");
                Container.RegisterType <IDataServices, DataServiceImplementation>(new ContainerControlledLifetimeManager(), injectionConstructor);


                var           currentValue = new object[3];
                ISqlExecutor  sqlExecutor  = new OleDbExecutor();
                IDataServices dataServices = new DataServiceImplementation(sqlExecutor);
                currentValue[0] = Container.Resolve <IUnityContainer>();
                currentValue[1] = Container.Resolve <IDataServices>();
                currentValue[2] = Container.Resolve <ISqlExecutor>();
                var requestControllerInjected = new object[1];
                requestControllerInjected[0] = Container;



                InjectionConstructor injectionContainer     = new InjectionConstructor(requestControllerInjected);
                InjectionConstructor injectionIntoViewModel = new InjectionConstructor(currentValue);

                Container.RegisterType <RequestController>(new ContainerControlledLifetimeManager(), injectionContainer);
                Container.RegisterType <TestMainWindowViewModel>(injectionIntoViewModel);
                // The dal service is used to access to the database
                logger.Debug("Resolving configuration container");
            }
            catch (Exception e)
            {
                logger.Error("Error during the container configuration. KarveWin cannot start! Reason:" + e.Message);
                MessageBox.Show(e.Message, "Error during the container configuration. KarveWin cannot start!", MessageBoxButton.OK);
            }
        }
Beispiel #2
0
        /// <summary>
        ///  Setup the query executor
        /// </summary>
        /// <returns>An instance of the query executor</returns>
        public ISqlExecutor SetupSqlQueryExecutor()
        {
            ISqlExecutor executor = new OleDbExecutor(TestConnectionString);

            return(executor);
        }