Example #1
0
        public Startup(IHostingEnvironment env)
        {
            var builder = new ConfigurationBuilder()
                          .SetBasePath(env.ContentRootPath)
                          .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
                          .AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true)
                          .AddEnvironmentVariables();

            Configuration = builder.Build();

            // MEF initiliazation
            this.exportProvider = CompositionContainerFactory.Create();
            SettingsInitializer.Initialize <Settings>(
                this.exportProvider,
                SettingsDefaultValueProvider <Settings> .Default,
                AppConfigurationValueProvider.Default);
            SettingsInitializer.Initialize <DatabaseContextSettings>(
                this.exportProvider,
                SettingsDefaultValueProvider <DatabaseContextSettings> .Default,
                AppConfigurationValueProvider.Default);
            SettingsInitializer.Initialize <UCenterEventDatabaseContextSettings>(
                this.exportProvider,
                SettingsDefaultValueProvider <UCenterEventDatabaseContextSettings> .Default,
                AppConfigurationValueProvider.Default);

            CreateDatabaseIndexesAsync().Wait();
        }
        private static async Task AssemblyInitializeAsync()
        {
            ExportProvider = CompositionContainerFactory.Create();

            SettingsInitializer.Initialize <Settings>(
                ExportProvider,
                SettingsDefaultValueProvider <Settings> .Default,
                AppConfigurationValueProvider.Default);

            SettingsInitializer.Initialize <Common.Settings.Settings>(
                ExportProvider,
                SettingsDefaultValueProvider <Common.Settings.Settings> .Default,
                AppConfigurationValueProvider.Default);

            SettingsInitializer.Initialize <DatabaseContextSettings>(
                ExportProvider,
                SettingsDefaultValueProvider <DatabaseContextSettings> .Default,
                AppConfigurationValueProvider.Default);

            var settings = ExportProvider.GetExportedValue <Common.Settings.Settings>();

            await InitProfileImageBlobsAsync(settings.DefaultProfileImageForFemaleBlobName);
            await InitProfileImageBlobsAsync(settings.DefaultProfileImageForMaleBlobName);
            await InitProfileImageBlobsAsync(settings.DefaultProfileThumbnailForFemaleBlobName);
            await InitProfileImageBlobsAsync(settings.DefaultProfileThumbnailForMaleBlobName);
        }
        private static async Task AssemblyInitializeAsync()
        {
            ExportProvider = CompositionContainerFactory.Create();

            SettingsInitializer.Initialize <UCenterTestSettings>(
                ExportProvider,
                SettingsDefaultValueProvider <UCenterTestSettings> .Default,
                AppConfigurationValueProvider.Default);

            SettingsInitializer.Initialize <Settings>(
                ExportProvider,
                SettingsDefaultValueProvider <Settings> .Default,
                AppConfigurationValueProvider.Default);

            SettingsInitializer.Initialize <DatabaseContextSettings>(
                ExportProvider,
                SettingsDefaultValueProvider <DatabaseContextSettings> .Default,
                AppConfigurationValueProvider.Default);

            SettingsInitializer.Initialize <UCenterEventDatabaseContextSettings>(
                ExportProvider,
                SettingsDefaultValueProvider <UCenterEventDatabaseContextSettings> .Default,
                AppConfigurationValueProvider.Default);

            // TODO: This will break distributed unit test!
            // await InitProfileImageBlobsAsync(settings.DefaultProfileImageForFemaleBlobName);
            // await InitProfileImageBlobsAsync(settings.DefaultProfileImageForMaleBlobName);
            // await InitProfileImageBlobsAsync(settings.DefaultProfileThumbnailForFemaleBlobName);
            // await InitProfileImageBlobsAsync(settings.DefaultProfileThumbnailForMaleBlobName);
        }
Example #4
0
        public void CreateNew_NeverReturnsNull()
        {
            var factory   = new CompositionContainerFactory();
            var container = factory.CreateNew();

            Assert.IsNotNull(container);
        }
Example #5
0
        public static CompositionContainer CreateCompositionContextForReading()
        {
            var factory = new CompositionContainerFactory();

            factory.AddMarkedTypesInAssembly(null, typeof(IFileChunkHandler));
            // add midi exports
            factory.AddMarkedTypesInAssembly(typeof(MTrkChunkHandler).Assembly, typeof(IFileChunkHandler));

            // note that Midi files use big endian.
            // and the chunks are not aligned.
            factory.AddTypes(
                typeof(BigEndianNumberReader),
                typeof(SizePrefixedStringReader),
                typeof(ChunkTypeFactory),
                typeof(FileChunkHandlerManager));

            var container = factory.CreateNew();

            var chunkFactory = container.GetService <ChunkTypeFactory>();

            // add midi chunks
            chunkFactory.AddChunksFrom(typeof(MTrkChunkHandler).Assembly, true);

            return(container);
        }
        private CompositionContainer CreateCompositionContainer()
        {
            var factory        = new CompositionContainerFactory();
            var midiIOAssembly = typeof(MTrkChunkHandler).Assembly;

            // add basic file handlers
            factory.AddMarkedTypesInAssembly(null, typeof(IFileChunkHandler));

            // add midi file handlers
            factory.AddMarkedTypesInAssembly(midiIOAssembly, typeof(IFileChunkHandler));

            // note that Midi files use big endian.
            // and the chunks are not aligned.
            factory.AddTypes(
                typeof(BigEndianNumberWriter),
                typeof(SizePrefixedStringWriter),
                typeof(ChunkTypeFactory),
                typeof(FileChunkHandlerManager));

            var container = factory.CreateNew();

            var chunkFactory = container.GetService <ChunkTypeFactory>();

            // add midi chunks
            chunkFactory.AddChunksFrom(midiIOAssembly, true);

            return(container);
        }
Example #7
0
        private static CompositionContainer CreateNewContainer()
        {
            var factory   = new CompositionContainerFactory();
            var container = factory.CreateNew();

            return(container);
        }
Example #8
0
        protected void Application_Start()
        {
            //
            // Entity Framework sometimes becomes upset that the model doesn't match its
            // record of the schema, even when there is no difference.  To fix this,
            // we're calling SetInitializer(null) per https://digitaltoolfactory.net/blog/2012/08/how-to-fix-the-model-backing-the-context-has-changed-since-the-database-was-created-error/
            //
            // I do not know why this is not needed for DataContext though it is needed
            // for DataContextByUser.  Since the the initializer is not being changed
            // for DataContext, we still get a schema check when those contexts are used.
            // I suspect that Entity Framework caches schema summary information somewhere
            // outside the database, and that the summary information associated with
            // DataContext is updated correctly on migration (since it is used in migration
            // configuration) but not the other DataContextBy* types.
            //
            Database.SetInitializer <KeyHub.Data.DataContextByUser>(null);
            Database.SetInitializer <KeyHub.Data.DataContextByTransaction>(null);
            Database.SetInitializer <KeyHub.Data.DataContextByAuthorizedVendor>(null);

            container = CompositionContainerFactory.Create();
            ControllerBuilder.Current.SetControllerFactory(new WindsorControllerFactory(container.Kernel));
            GlobalConfiguration.Configuration.Services.Replace(typeof(IHttpControllerActivator), new WindsorCompositionRoot(container));

            container.Resolve <IKernelContext>().RunKernelEvents(KernelEventsTypes.Startup);

            GlobalConfiguration.Configuration.Formatters.XmlFormatter.UseXmlSerializer = true;

            AreaRegistration.RegisterAllAreas();

            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);
            AuthConfig.RegisterAuth();
        }
Example #9
0
        public static void AssemblyInitialize(TestContext context)
        {
            ExportProvider = CompositionContainerFactory.Create();

            SettingsInitializer.Initialize <Settings>(ExportProvider, SettingsDefaultValueProvider <Settings> .Default,
                                                      AppConfigurationValueProvider.Default);
            SettingsInitializer.Initialize <Common.Settings.Settings>(ExportProvider,
                                                                      SettingsDefaultValueProvider <Settings> .Default, AppConfigurationValueProvider.Default);
        }
Example #10
0
        public ExceptionFilter()
        {
            var ExportProvider = CompositionContainerFactory.Create();

            SettingsInitializer.Initialize <UCenterEventDatabaseContextSettings>(
                ExportProvider,
                SettingsDefaultValueProvider <UCenterEventDatabaseContextSettings> .Default,
                AppConfigurationValueProvider.Default);
            this.eventTrace = ExportProvider.GetExportedValue <EventTrace>();
        }
Example #11
0
        public void AddTypes_TypeAdded_CanBeInstantiatedInContainer()
        {
            var factory = new CompositionContainerFactory();

            factory.AddTypes(typeof(ComposableTestClass));

            var container = factory.CreateNew();

            var instance = container.GetExport <ComposableTestClass>();

            Assert.IsNotNull(instance);
        }
Example #12
0
        /// <summary>
        ///     The application start event
        /// </summary>
        protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();
            GlobalConfiguration.Configure(WebApiConfig.Register);
            ExportProvider exportProvider = CompositionContainerFactory.Create();

            ApplicationManager.InitializeApplication(GlobalConfiguration.Configuration, exportProvider);
            SettingsInitializer.Initialize <Settings>(
                exportProvider,
                SettingsDefaultValueProvider <Settings> .Default,
                AppConfigurationValueProvider.Default);
        }
Example #13
0
        /// <summary>
        /// Function for application start.
        /// </summary>
        protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();
            GlobalConfiguration.Configure(WebApiConfig.Register);
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);

            ExportProvider exportProvider = CompositionContainerFactory.Create();

            WebApplicationManager.InitializeApplication(GlobalConfiguration.Configuration, exportProvider);
            SettingsInitializer.Initialize <Settings>(
                exportProvider,
                SettingsDefaultValueProvider <Settings> .Default,
                AppConfigurationValueProvider.Default);
        }
Example #14
0
        public UsersController()
        {
            var exportProvider = CompositionContainerFactory.Create();

            SettingsInitializer.Initialize <Settings>(
                exportProvider,
                SettingsDefaultValueProvider <Settings> .Default,
                AppConfigurationValueProvider.Default);

            SettingsInitializer.Initialize <DatabaseContextSettings>(
                exportProvider,
                SettingsDefaultValueProvider <DatabaseContextSettings> .Default,
                AppConfigurationValueProvider.Default);

            Database = exportProvider.GetExportedValue <DatabaseContext>();
            Settings = exportProvider.GetExportedValue <Settings>();
        }
 public PluginManager(string path)
 {
     this.path           = path;
     this.exportProvider = CompositionContainerFactory.Create();
     SettingsInitializer.Initialize <DatabaseContextSettings>(
         this.exportProvider,
         SettingsDefaultValueProvider <DatabaseContextSettings> .Default,
         AppConfigurationValueProvider.Default);
     this.database = exportProvider.GetExportedValue <ManagerDatabaseContext>();
     this.plugins  = this.GetPlugins(path);
     this.watcher  = new FileSystemWatcher(path, "*" + ManifestFileName);
     this.watcher.IncludeSubdirectories = true;
     this.watcher.NotifyFilter          = NotifyFilters.LastAccess | NotifyFilters.LastWrite | NotifyFilters.FileName | NotifyFilters.Size;
     this.watcher.Changed            += Watcher_Changed;
     this.watcher.Deleted            += Watcher_Changed;
     this.watcher.Created            += Watcher_Changed;
     this.watcher.EnableRaisingEvents = true;
 }
        public ApiControllerBase(DatabaseContext database, Settings settings)
        {
            //Database = database;
            //Settings = settings;
            var exportProvider = CompositionContainerFactory.Create();

            SettingsInitializer.Initialize <Settings>(
                exportProvider,
                SettingsDefaultValueProvider <Settings> .Default,
                AppConfigurationValueProvider.Default);

            SettingsInitializer.Initialize <DatabaseContextSettings>(
                exportProvider,
                SettingsDefaultValueProvider <DatabaseContextSettings> .Default,
                AppConfigurationValueProvider.Default);

            Database = exportProvider.GetExportedValue <DatabaseContext>();
            Settings = exportProvider.GetExportedValue <Settings>();
        }
Example #17
0
        private static CompositionContainer CreateCompositionContextForReading()
        {
            var factory = new CompositionContainerFactory();

            factory.AddMarkedTypesInAssembly(null, typeof(IFileChunkHandler));

            factory.AddMarkedTypesInAssembly(typeof(MTrkChunkHandler).Assembly, typeof(IFileChunkHandler));

            factory.AddTypes(
                typeof(BigEndianNumberReader),
                typeof(SizePrefixedStringReader),
                typeof(ChunkTypeFactory),
                typeof(FileChunkHandlerManager));

            var container = factory.CreateNew();

            var chunkFactory = container.GetService <ChunkTypeFactory>();

            chunkFactory.AddChunksFrom(typeof(MTrkChunkHandler).Assembly, true);

            return(container);
        }
Example #18
0
        public static CompositionContainer CreateCompositionContext(bool littleEndian)
        {
            var factory = new CompositionContainerFactory();

            factory.AddMarkedTypesInAssembly(null, typeof(IFileChunkHandler));

            factory.AddTypes(
                littleEndian ? typeof(LittleEndianNumberReader) : typeof(BigEndianNumberReader),
                littleEndian ? typeof(LittleEndianNumberWriter) : typeof(BigEndianNumberWriter),
                typeof(SizePrefixedStringReader),
                typeof(SizePrefixedStringWriter),
                typeof(StreamNavigator),
                typeof(ChunkTypeFactory),
                typeof(FileChunkHandlerManager));

            var container = factory.CreateNew();

            var chunkFactory = container.GetService <ChunkTypeFactory>();

            // add test chunks
            chunkFactory.AddChunksFrom(typeof(WaveChunk).Assembly, true);

            return(container);
        }