protected IConfigurationRepository GetDataFromAzure()
        {
            IConfigurationRepository configurationRepository;

            if (bool.Parse(ConfigurationManager.AppSettings["LocalConfig"]))
            {
                configurationRepository = new FileStorageConfigurationRepository();
            }
            else
            {
                configurationRepository = new AzureTableStorageConfigurationRepository(CloudConfigurationManager.GetSetting("ConfigurationStorageConnectionString"));
            }
            return(configurationRepository);
        }
Beispiel #2
0
        private static IConfigurationRepository GetConfigurationRepository()
        {
            IConfigurationRepository configurationRepository;

            if (bool.Parse(ConfigurationManager.AppSettings["LocalConfig"]))
            {
                configurationRepository = new FileStorageConfigurationRepository();
            }
            else
            {
                configurationRepository = new AzureTableStorageConfigurationRepository(ConfigurationManager.AppSettings["ConfigurationStorageConnectionString"]);
            }
            return(configurationRepository);
        }
        private ConfigurationService GetconfigService(string environment)
        {
            IConfigurationRepository configurationRepository;

            if (ConfigurationManager.AppSettings["LocalConfig"].AsBool())
            {
                configurationRepository = new FileStorageConfigurationRepository();
            }
            else
            {
                configurationRepository = new AzureTableStorageConfigurationRepository(ConfigurationManager.AppSettings["ConfigurationStorageConnectionString"]);
            }

            var configurationService = new ConfigurationService(configurationRepository,
                                                                new ConfigurationOptions("SFA.DAS.EmployerUsers.Web", environment, "1.0"));

            return(configurationService);
        }
        public DefaultRegistry()
        {
            var environment = Environment.GetEnvironmentVariable("DASENV");

            if (string.IsNullOrEmpty(environment))
            {
                environment = CloudConfigurationManager.GetSetting("EnvironmentName");
            }

            Scan(
                scan => {
                scan.WithDefaultConventions();
                scan.AssemblyContainingType <IMessageNotificationRepository>();
                scan.ConnectImplementationsToTypesClosing(typeof(IRequestHandler <,>));
                scan.ConnectImplementationsToTypesClosing(typeof(IAsyncRequestHandler <,>));
                scan.ConnectImplementationsToTypesClosing(typeof(INotificationHandler <>));
                scan.ConnectImplementationsToTypesClosing(typeof(IAsyncNotificationHandler <>));
                scan.ConnectImplementationsToTypesClosing(typeof(AbstractValidator <>));
            });
            For <SingleInstanceFactory>().Use <SingleInstanceFactory>(ctx => t => ctx.GetInstance(t));
            For <MultiInstanceFactory>().Use <MultiInstanceFactory>(ctx => t => ctx.GetAllInstances(t));
            For <INotifyHttpClientWrapper>().Use <NotifyHttpClientWrapper>();

            IConfigurationRepository configurationRepository;

            if (bool.Parse(ConfigurationManager.AppSettings["LocalConfig"]))
            {
                configurationRepository = new FileStorageConfigurationRepository();
            }
            else
            {
                configurationRepository = new AzureTableStorageConfigurationRepository(CloudConfigurationManager.GetSetting("ConfigurationStorageConnectionString"));
            }

            var configurationService = new ConfigurationService(
                configurationRepository,
                new ConfigurationOptions(ServiceName, environment, "1.0"));

            For <IConfigurationService>().Use(configurationService);

            var storageConnectionString = CloudConfigurationManager.GetSetting("StorageConnectionString") ??
                                          "UseDevelopmentStorage=true";

            For <IMessageNotificationRepository>().Use <AzureEmailNotificationRepository>().Ctor <string>().Is(storageConnectionString);

            if (environment == DevEnv)
            {
                For <IMessageSubSystem>().Use(() => new FileSystemMessageSubSystem());
                For <IEmailService>().Use <LocalEmailService>();
                //For<IEmailService>().Use<SendGridSmtpEmailService>();
            }
            else
            {
                var config      = configurationService.Get <NotificationServiceConfiguration>();
                var queueConfig = config.ServiceBusConfiguration;
                For <IMessageSubSystem>().Use(() => new AzureServiceBusMessageSubSystem(queueConfig.ConnectionString, queueConfig.QueueName));
                For <IEmailService>().Use <SendGridSmtpEmailService>();
            }

            For <MessagingService>().Use <MessagingService>();
            For <QueuedMessageHandler>().Use <QueuedMessageHandler>();
            For <IAccountRepository>().Use <AccountRepository>();
            For <IMediator>().Use <Mediator>();
        }
Beispiel #5
0
 public void Arrange()
 {
     _configurationRepository = new FileStorageConfigurationRepository();
 }
        static void Main(string[] args)
        {
            IConfigurationRepository repo = null;
            var exit         = false;
            var defaultColor = Console.ForegroundColor;

            // Fluff - Get what persistence implementation to use
            while (repo == null && !exit)
            {
                Console.WriteLine("Where is your configuration stored:");
                Console.WriteLine("    1. Azure Table Storage");
                Console.WriteLine("    2. File Storage");
                Console.WriteLine("    3. None of the above. Exit");
                Console.Write("Please select (1 - 3): ");
                var input = Console.ReadLine();
                switch (input)
                {
                case "1":
                    repo = new AzureTableStorageConfigurationRepository();
                    break;

                case "2":
                    repo = new FileStorageConfigurationRepository();
                    break;

                case "3":
                    exit = true;
                    break;

                default:
                    Console.ForegroundColor = ConsoleColor.Red;
                    Console.WriteLine("Invalid input. Please enter an number between 1 and 2");
                    Console.ForegroundColor = defaultColor;
                    Console.WriteLine();
                    break;
                }
            }
            Console.WriteLine();

            // Create a new configuration service
            var configurationService = new ConfigurationService(repo,
                                                                new ConfigurationOptions("GettingConfiguration", "DEV", "1.0"));

            // Get the configuration
            var configTask = configurationService.GetAsync <SampleConfiguration>();

            configTask.Wait();
            var config = configTask.Result;

            // Ouput result
            if (config != null)
            {
                Console.ForegroundColor = ConsoleColor.Yellow;
                Console.WriteLine($"Read {config.ServiceName} as configured service name");
            }
            else
            {
                Console.ForegroundColor = ConsoleColor.Red;
                Console.WriteLine("Did not find configuration");
            }
            Console.ForegroundColor = defaultColor;

            Console.WriteLine();
            Console.Write("Press any key to exit...");
            Console.ReadKey();
        }