/// <summary> /// Configures the system will settings that can be consumed accross tiers /// Set all the config values based upon environment /// This will be changed to read from a config file or database /// </summary> /// <param name="systemEnvironment"></param> public static void Configure() { Configuration.systemEnvironment = EnvironmentStartup.GetEnvironment; string databaseConnectionString = EnvironmentStartup.GetDatabaseConnectionString; // Configure DI so we can resolve our Configuration Repository RegisterTypes.Configure(Configuration.systemEnvironment); string systemEnv = Configuration.systemEnvironment.ToString().ToUpper(); Sample.Azure.Common.Setting.SettingService.Set("RedisCacheConnection", "samplebase.redis.cache.windows.net,abortConnect=false,ssl=true,password=<<REMOVED>>"); Sample.Azure.Common.Setting.SettingService.Set("CloudStorageAccountName", "samplebase"); Sample.Azure.Common.Setting.SettingService.Set("CloudStorageKey", "<<REMOVED>>"); Sample.Azure.Common.Setting.SettingService.Set("CloudStorageBlobEndPoint", "https://samplebase.blob.core.windows.net"); Sample.Azure.Common.Setting.SettingService.Set("CloudStorageQueueEndPoint", "https://samplebase.queue.core.windows.net"); Sample.Azure.Common.Setting.SettingService.Set("CloudStorageTableEndPoint", "https://samplebase.table.core.windows.net"); Sample.Azure.Common.Setting.SettingService.Set("CloudStorageFileEndPoint", "https://samplebase.file.core.windows.net"); Sample.Azure.Common.Setting.SettingService.Set("SaveAndReadBlobTimeoutInMinutes", "5"); Sample.Azure.Common.Setting.SettingService.Set("SaveAndReadQueueTimeoutInMinutes", "5"); Sample.Azure.Common.Setting.SettingService.Set("SearchIndexerService-CheckQueue-Interval-In-Milliseconds", "500"); Sample.Azure.Common.Setting.SettingService.Set("Azure-Search-Name", "samplebase"); //.search.windows.net"); Sample.Azure.Common.Setting.SettingService.Set("Azure-Search-ApiKey", "<<REMOVED>>"); Sample.Azure.Common.Setting.SettingService.Set("AzureSearchCORS", "*"); // comma seperated Sample.Azure.Common.Setting.SettingService.Set("Azure-Search-QueryKey", "<<REMOVED>>"); Sample.Azure.Common.Setting.SettingService.Set("DocumentDBEndPoint", "https://samplebase.documents.azure.com:443/"); Sample.Azure.Common.Setting.SettingService.Set("DocumentDBAuthKey", "<<REMOVED>>"); Sample.Azure.Common.Setting.SettingService.Set("DocumentDBDatabase", "SampleBase"); Sample.Azure.Common.Setting.SettingService.Set("DocumentDBCollection", "Customers"); } // Configure
public static void Configure(Environment.SystemEnvironment systemEnvironment) { // Use Azure blob storage Sample.Azure.DI.Container.RegisterType <Sample.Azure.Interface.Repository.IFileRepository, Sample.Azure.Repository.File.FileRepository>(); // Use Azure redis cache Sample.Azure.DI.Container.RegisterType <Sample.Azure.Interface.Repository.ICacheRepository, Sample.Azure.Repository.Cache.RedisCacheManager>(); // Use Azure queues Sample.Azure.DI.Container.RegisterType <Sample.Azure.Interface.Repository.IQueueRepository, Sample.Azure.Repository.Queue.QueueRepository>(); // Use Azure Search Sample.Azure.DI.Container.RegisterType <Sample.Azure.Interface.Repository.IIndexerRepository, Sample.Azure.Repository.Search.IndexerRepository>(); // Exception Handling Sample.Azure.DI.Container.RegisterType <Sample.Azure.Interface.Service.IExceptionLogService, Sample.Azure.Service.ExceptionLog.ExceptionLogService>(); Sample.Azure.DI.Container.RegisterType <Sample.Azure.Interface.Repository.IExceptionLogRepository, Sample.Azure.Repository.Table.ExceptionLog.ExceptionLogRepository>(); ////// Customer ////// // Use Azure table for customers Sample.Azure.DI.Container.RegisterType <Sample.Azure.Interface.Repository.ICustomerRepository, Sample.Azure.Repository.Table.Customer.CustomerRepository>(); // Customer Service Sample.Azure.DI.Container.RegisterType <Sample.Azure.Interface.Service.ICustomerService, Sample.Azure.Service.Customer.CustomerService>(); ////// LargeObject ////// // Use Azure blob for LargeObject Sample.Azure.DI.Container.RegisterType <Sample.Azure.Interface.Repository.ILargeObjectRepository, Sample.Azure.Repository.File.LargeObject.LargeObjectRepository>(); // LargeObject Service Sample.Azure.DI.Container.RegisterType <Sample.Azure.Interface.Service.ILargeObjectService, Sample.Azure.Service.LargeObject.LargeObjectService>(); }