Esempio n. 1
0
        static void Main(string[] args)
        {
            EnvSettings.Initialize();

            var Watcher = new TargetWatcher(EnvSettings.Env.SOURCE_DIRECTORY);

            Watcher.Run();

            Console.ReadKey();
        }
        /// <summary>
        /// Main method triggered at startup.
        /// </summary>
        static void Main(string[] args)
        {
            try
            {
                // Get env settings file URL
                string envSettingsString = _httpClient.GetStringAsync(Environment.GetEnvironmentVariable("ENV_SETTINGS_URL")).ContinueWith((r) =>
                {
                    return(r.Result);
                }).Result;
                _envSettings = JsonConvert.DeserializeObject <EnvSettings>(envSettingsString);

                Console.WriteLine($"Retrieved env settings successfully");

                // Initialize logger
                var logLevelProperty = _envSettings.Properties.Where(x => x.Name == "LogLevel").FirstOrDefault();
                if (logLevelProperty == null)
                {
                    throw new Exception("Unable to find LogLevel property in env settings");
                }

                Console.WriteLine($"Setting log level to {logLevelProperty.Value}");
                var logLevel = (LogLevel)Enum.Parse(typeof(LogLevel), logLevelProperty.Value, true);
                var consoleLoggerConfiguration = new ConsoleLoggerConfiguration(logLevel: logLevel);
                _loggerFactory = ConsoleLoggerExtensions.AddConsoleLogger(new LoggerFactory(), consoleLoggerConfiguration);
                _consoleLogger = _loggerFactory.CreateLogger <ConsoleLogger>();

                _consoleLogger.LogInformation("Kicking off Main method");

                // Use Timer trigger instead
                var timerIntervalProperty = _envSettings.Properties.Where(x => x.Name == "TimerIntervalInSeconds").FirstOrDefault();
                if (timerIntervalProperty == null)
                {
                    throw new Exception("Unable to find TimerIntervalInSeconds in env settings");
                }

                SetTimer(Convert.ToInt32(timerIntervalProperty.Value) * 1000);

                // Initialize module client
                InitializeModuleClient().Wait();

                // Wait until the app unloads or is cancelled
                var cts = new CancellationTokenSource();
                AssemblyLoadContext.Default.Unloading += (ctx) => cts.Cancel();
                Console.CancelKeyPress += (sender, cpe) => cts.Cancel();
                WhenCancelled(cts.Token).Wait();
            }
            catch (Exception e)
            {
                Console.WriteLine($"Main caught an exception: {e}");
            }
        }
        private void BuildContainer(EnvSettings settings)
        {
            // container
            var builder = new ContainerBuilder();

            builder.RegisterControllers(typeof(MvcApplication).Assembly);

            builder.Register(i => new CrmConnectionPool(settings.ConnectionString)
            {
                MaxConnections = 4
            }).SingleInstance();
            builder.RegisterType <CrmOrganizationServiceFromPool>().As <IOrganizationService>().InstancePerRequest();

            // Set the dependency resolver to be Autofac.
            var container = builder.Build();

            DependencyResolver.SetResolver(new AutofacDependencyResolver(container));
        }
        public AppSettings()
        {
            _settings = new NameValueCollection(ConfigurationManager.AppSettings);

            var missing = Values.FirstOrDefault(kvp => kvp.Value.ToUpper().Trim() == "#TBD");
            if(missing.Key != null)
            {
                throw new ConfigurationErrorsException(
                    "Missing required configuration value {0}".FormatFrom(missing.Key));
            }

            _settings = _settings.ExpandTokens();

            Server = new ServerSettings(_settings);
            Git = new GitSettings(_settings);
            Env = new EnvSettings(_settings);
            Smtp = new SmtpSettings(_settings);
        }
 public LocalDebugMailService(EnvSettings envSettings)
 {
     fromAddress = envSettings.MailFromAddress;
 }
Esempio n. 6
0
 public LogMailService(EnvSettings envSettings, ILogger <LogMailService> logger)
 {
     _fromAddress = envSettings.MailFromAddress;
     _logger      = logger;
 }
        public static void RegisterInfrastructureModule(this IServiceCollection services, EnvSettings settings)
        {
            services.AddSingleton <IClock, Clock>();

            services.AddDbContext <BonbonniereContext>(o =>
                                                       //o.UseSqlServer(settings.BonbonniereConnection, b => b.MigrationsAssembly("Bonbonniere.Data")));
                                                       o.UseInMemoryDatabase("BonbonniereInMemory"));

            services.AddDbContext <ThirdPartyContext>(o =>
                                                      //o.UseSqlServer(settings.ThirdPartyConnection, b => b.MigrationsAssembly("Bonbonniere.Data")));
                                                      o.UseInMemoryDatabase("ThirdPartyInMemory"));
        }