Beispiel #1
0
        public static void Main(string[] args)
        {
            ServiceConfigurations.ServiceConfigMapping[ServiceConfigurations.ServiceName.ProductionService].RealType = typeof(ProductionService.ProductionService);
            ServiceConfigurations.ServiceConfigMapping[ServiceConfigurations.ServiceName.OrderService].RealType      = typeof(OrderService.OrderService);

            try
            {
                foreach (var dictItem in ServiceConfigurations.ServiceConfigMapping)
                {
                    StartHosting(dictItem.Value);
                }

                foreach (var dictItem in ServiceConfigurations.ServiceConfigMapping)
                {
                    var service = ServiceConfigurations.CreateEventingClient(dictItem.Key);
                    service.InitEventListening();
                }

                Console.ReadKey();
            }
            catch (Exception ex)
            {
                Console.WriteLine("There is an issue with a service: " + ex.Message);
                Console.ReadKey();
            }
        }
Beispiel #2
0
        static void Main(string[] args)
        {
            Console.WriteLine("Iniciando console Aplication Engenhos Devops");

            Console.WriteLine("Carregando configurações...");

            var builder = new ConfigurationBuilder()
                          .SetBasePath(Directory.GetCurrentDirectory())
                          .AddJsonFile($"appsettings.json");
            var configuration = builder.Build();

            _configurations = new ServiceConfigurations();
            new ConfigureFromConfigurationOptions <ServiceConfigurations>(
                configuration.GetSection("ServiceConfigurations"))
            .Configure(_configurations);

            _timer = new Timer(
                callback: TimerElapsed,
                state: null,
                dueTime: 0,
                period: 3000);

            // Tratando o encerramento da aplicação com
            // Control + C ou Control + Break
            Console.CancelKeyPress += (o, e) =>
            {
                Console.WriteLine("Saindo...");

                // Libera a continuação da thread principal
                waitHandle.Set();
            };

            waitHandle.WaitOne();
        }
Beispiel #3
0
        public WorkItemService(ServiceConfigurations settings)
        {
            var client   = new MongoClient(settings.ConnectionString);
            var database = client.GetDatabase(settings.DatabaseName);

            _workItens = database.GetCollection <WorkItemResult>(settings.WorkItensCollectionName);
        }
        public WcfServerConfigurator AddService <TService>(Action <WcfServiceConfigurator <TService> > service)
            where TService : class
        {
            var wcfServiceConfigurator = new WcfServiceConfigurator <TService>();

            service(wcfServiceConfigurator);
            ServiceConfigurations.Add(wcfServiceConfigurator.GetConfiguration());
            return(this);
        }
Beispiel #5
0
 public Worker(ILogger <Worker> logger, IConfiguration configuration, IRestService clienteService)
 {
     _logger = logger;
     serviceConfiguration = new ServiceConfigurations();
     _clienteService      = clienteService;
     new ConfigureFromConfigurationOptions <ServiceConfigurations>(
         configuration.GetSection("ServiceConfigurations"))
     .Configure(serviceConfiguration);
 }
Beispiel #6
0
        public void AddSetsLogger()
        {
            var plugin         = Substitute.For <IPlugin>();
            var logger         = Substitute.For <ILogger>();
            var configurations = new ServiceConfigurations(logger);

            configurations.Add(plugin);

            plugin.Logger.Should().Be(logger);
        }
Beispiel #7
0
        public Worker(ILogger <Worker> logger,
                      IConfiguration configuration)
        {
            _logger = logger;

            _serviceConfigurations = new ServiceConfigurations();
            new ConfigureFromConfigurationOptions <ServiceConfigurations>(
                configuration.GetSection("ServiceConfigurations"))
            .Configure(_serviceConfigurations);
        }
        public void Download(ServiceConfigurations serviceConfigurations)
        {
            var connectionInfo = new ConnectionInfo(serviceConfigurations.Host, serviceConfigurations.Username, new PasswordAuthenticationMethod(serviceConfigurations.Username, serviceConfigurations.Password));

            using (var client = new SftpClient(connectionInfo))
            {
                client.Connect();
                DownloadDirectory(client, serviceConfigurations.Source, serviceConfigurations.Destination);
            }
        }
        public WorkerService1(ILogger <WorkerService1> logger, IConfiguration configuration)
        {
            _logger = logger;

            _serviceConfigurations = new ServiceConfigurations();
            new ConfigureFromConfigurationOptions <ServiceConfigurations>(
                configuration.GetSection("ServiceConfigurations"))
            .Configure(_serviceConfigurations);

            _logger.LogWarning($"Worker Service 1 Interval in Seconds: {_serviceConfigurations.WorkerService1_IntervalInSeconds}");
        }
Beispiel #10
0
        internal static ServiceConfigurations Find(Configuration config, ILogger logger)
        {
            logger.Information("Loading configuration", PluginDir);

            var configurations = new ServiceConfigurations(logger);

            AddInternalConfigurations();
            AddExternalPlugins();
            return(configurations);

            void AddInternalConfigurations()
            {
                logger.Information("Loading internal service configuration", PluginDir);

                var loader  = Factory.CreateLoader(config, logger).Result;
                var addData = new SetData(loader, logger);

                configurations.Add(new Singletons());
                configurations.Add(addData);
                if (config.EnablePrometheusMonitoring)
                {
                    configurations.Add(new ServiceConfiguration.Prometheus());
                }
                configurations.Add(new HealthCheck(addData, config.EnablePrometheusMonitoring));
                configurations.Add(new Swagger());
                configurations.Add(new ExceptionHandler());
            }

            void AddExternalPlugins()
            {
                if (!config.EnableCustomPlugins)
                {
                    return;
                }

                try
                {
                    logger.Information("Loading external plugins from {path}", PluginDir);
                    var conventions = new ConventionBuilder();
                    conventions.ForTypesDerivedFrom <IPlugin>().Export <IPlugin>().Shared();

                    var containerConfig = new ContainerConfiguration().WithAssembliesInPath(PluginDir, conventions);

                    using var container = containerConfig.CreateContainer();

                    var externalPlugins = container.GetExports <IPlugin>();
                    configurations.AddRange(externalPlugins);
                }
                catch (Exception e)
                {
                    logger.Warning(e, "Error loading plugins from {path}", PluginDir);
                }
            }
        }
Beispiel #11
0
        public void ConfigureEndpointsOnAllPlugins()
        {
            var plugin1 = Substitute.For <IPlugin>();
            var plugin2 = Substitute.For <IPlugin>();

            var plugins = new ServiceConfigurations(new[] { plugin1, plugin2 }, Substitute.For <ILogger>());

            plugins.ConfigureEndpoints(Substitute.For <IEndpointRouteBuilder>());

            plugin1.ReceivedWithAnyArgs().ConfigureEndpoints(Arg.Any <IEndpointRouteBuilder>());
            plugin2.ReceivedWithAnyArgs().ConfigureEndpoints(Arg.Any <IEndpointRouteBuilder>());
        }
Beispiel #12
0
        public void ConfigureServicesOnAllPlugins()
        {
            var plugin1 = Substitute.For <IPlugin>();
            var plugin2 = Substitute.For <IPlugin>();

            var plugins = new ServiceConfigurations(new[] { plugin1, plugin2 }, Substitute.For <ILogger>());

            plugins.ConfigureServices(Substitute.For <IServiceCollection>());

            plugin1.ReceivedWithAnyArgs().ConfigureServices(Arg.Any <IServiceCollection>());
            plugin2.ReceivedWithAnyArgs().ConfigureServices(Arg.Any <IServiceCollection>());
        }
Beispiel #13
0
        public void AddRangeSetsLogger()
        {
            var plugin1        = Substitute.For <IPlugin>();
            var plugin2        = Substitute.For <IPlugin>();
            var logger         = Substitute.For <ILogger>();
            var configurations = new ServiceConfigurations(logger);

            configurations.AddRange(new [] { plugin1, plugin2 });

            plugin1.Logger.Should().Be(logger);
            plugin2.Logger.Should().Be(logger);
        }
Beispiel #14
0
        public StockQuoteService(ILogger <StockQuoteService> logger,
                                 IOptions <ServiceConfigurations> serviceConfigurations,
                                 INotification notification,
                                 IConfiguration args)
        {
            _serviceConfigurations = serviceConfigurations.Value;
            _logger        = logger;
            _notification  = notification;
            _ativo         = args.GetValue <string>("ativo");
            _saleValue     = args.GetValue <string>("saleValue");
            _purchaseValue = args.GetValue <string>("purchaseValue");

            _apiClient = RestService.For <IStockQuoteApi>(_serviceConfigurations.Api.BaseUrl);
        }
Beispiel #15
0
        private void RegisterDependencies()
        {
            var services       = new ServiceCollection();
            var configurations = new ServiceConfigurations(Configuration);

            services.AddSingleton <IRabbitConfigurations>(configurations);
            services.AddSingleton <IServiceConfigurations>(configurations);
            services.AddSingleton <IRabbitConsumer, RabbitConsumer>();
            services.AddSingleton <IStockTickerManager, StockTickerManager>();
            services.AddSingleton <IRedditConsumer, RedditConsumer>();
            services.AddSingleton <IRabbitPublisher, RabbitPublisher>();
            services.AddSingleton <ISentimentAnalysis, SentimentAnalysis>();
            _serviceProvider = services.BuildServiceProvider(true);
        }
Beispiel #16
0
        public void ConfigureAllPlugins()
        {
            var plugin1 = Substitute.For <IPlugin>();
            var plugin2 = Substitute.For <IPlugin>();

            var plugins = new ServiceConfigurations(new[] { plugin1, plugin2 }, Substitute.For <ILogger>());

            plugins.Configure(Substitute.For <IApplicationBuilder>(), Substitute.For <IWebHostEnvironment>());

            plugin1.ReceivedWithAnyArgs().Configure(Substitute.For <IApplicationBuilder>(),
                                                    Substitute.For <IWebHostEnvironment>());
            plugin2.ReceivedWithAnyArgs().Configure(Substitute.For <IApplicationBuilder>(),
                                                    Substitute.For <IWebHostEnvironment>());
        }
Beispiel #17
0
        private void RegisterServices()
        {
            IServiceCollection services = new ServiceCollection();
            var configurations          = new ServiceConfigurations(Configuration);

            services.AddSingleton <IRabbitConfigurations>(configurations);
            services.AddSingleton <IServiceConfigurations>(configurations);
            services.AddSingleton <IRedditMonitoring, RedditMonitoring>();
            services.AddSingleton <ITwitterMonitoring, TwitterMonitoring>();
            services.AddSingleton <IRabbitPublisher, RabbitPublisher>();
            services.AddSingleton <ITwitterClient>(new TwitterClient(BuildTwitterCreds(configurations)));
            services.AddHealthChecks();
            _serviceProvider = services.BuildServiceProvider(true);
        }
        public static ServiceCollection ConfigureServices()
        {
            var services = new ServiceCollection();

            services.AddLogging(builder =>
            {
                builder.AddSerilog(_logger, true);
            });

            RepositoryDi.ConfigureServices(services, _configuration);
            InitializeElasticSearch(services, _configuration);
            ServiceConfigurations.ConfigureServices(services, _configuration);

            return(services);
        }
Beispiel #19
0
        public void ConfigureEndpointsOnAllPluginsWhenOneThrowsException()
        {
            var plugin1 = Substitute.For <IPlugin>();

            plugin1.When(p => p.ConfigureEndpoints(Arg.Any <IEndpointRouteBuilder>()))
            .Do(x => { throw new Exception("Fail Plugin1"); });
            var plugin2 = Substitute.For <IPlugin>();

            var plugins = new ServiceConfigurations(new[] { plugin1, plugin2 }, Substitute.For <ILogger>());

            plugins.ConfigureEndpoints(Substitute.For <IEndpointRouteBuilder>());

            plugin1.ReceivedWithAnyArgs().ConfigureEndpoints(Arg.Any <IEndpointRouteBuilder>());
            plugin2.ReceivedWithAnyArgs().ConfigureEndpoints(Arg.Any <IEndpointRouteBuilder>());
        }
Beispiel #20
0
        private ServiceConfigurations BuscarConfiguracoes()
        {
            ServiceConfigurations serviceConfigurations = new ServiceConfigurations();

            var builder = new ConfigurationBuilder()
                          .SetBasePath(Directory.GetCurrentDirectory())
                          .AddJsonFile($"appsettings.json");

            var configuration = builder.Build();

            new ConfigureFromConfigurationOptions <ServiceConfigurations>(
                configuration.GetSection("ServiceConfigurations"))
            .Configure(serviceConfigurations);

            return(serviceConfigurations);
        }
Beispiel #21
0
        public Worker(IHostEnvironment env, IConfiguration configuration, ILogger <Worker> logger)
        {
            _logger = logger;

            var builder = new ConfigurationBuilder()
                          .SetBasePath(Directory.GetCurrentDirectory())
                          .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
                          .AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true);

            builder.AddEnvironmentVariables();
            configuration = builder.Build();

            _serviceConfigurations = new ServiceConfigurations();

            new ConfigureFromConfigurationOptions <ServiceConfigurations>(
                configuration.GetSection("ServiceConfigurations"))
            .Configure(_serviceConfigurations);
        }
Beispiel #22
0
        public void ConfigureAllPluginsWhenOneThrowsException()
        {
            var plugin1 = Substitute.For <IPlugin>();

            plugin1.When(p =>
                         p.Configure(Arg.Any <IApplicationBuilder>(), Arg.Any <IWebHostEnvironment>()))
            .Do(x => { throw new Exception("Fail Plugin1"); });
            var plugin2 = Substitute.For <IPlugin>();

            var plugins = new ServiceConfigurations(new[] { plugin1, plugin2 }, Substitute.For <ILogger>());

            plugins.Configure(Substitute.For <IApplicationBuilder>(), Substitute.For <IWebHostEnvironment>());

            plugin1.ReceivedWithAnyArgs().Configure(Substitute.For <IApplicationBuilder>(),
                                                    Substitute.For <IWebHostEnvironment>());
            plugin2.ReceivedWithAnyArgs().Configure(Substitute.For <IApplicationBuilder>(),
                                                    Substitute.For <IWebHostEnvironment>());
        }
Beispiel #23
0
        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            //Automapper Configuration
            var config = new AutoMapper.MapperConfiguration(cfg =>
            {
                cfg.AddProfile(new MappingProfile());
            });
            var mapper = config.CreateMapper();

            services.AddSingleton(mapper);

            //Application Services and Repositories
            RepositoryConfiguration.Configure(services);
            ServiceConfigurations.Configure(services);

            services.AddDbContext <AllianzDBContext>(options =>
                                                     options.UseSqlServer(
                                                         Configuration.GetConnectionString("DefaultConnection")));
            services.AddIdentity <IdentityUser, IdentityRole>(options => options.SignIn.RequireConfirmedAccount = true)
            .AddEntityFrameworkStores <AllianzDBContext>();
            services.AddControllersWithViews();
            services.AddRazorPages();
        }
Beispiel #24
0
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddSingleton <IHttpContextAccessor, HttpContextAccessor>();
            services.AddAutoMapper(typeof(Startup));
            ServiceConfigurations.ConfigureIdentity(services, Configuration);
            ServiceConfigurations.ConfigureElmah(services, Configuration);
            ServiceConfigurations.ConfigureSerilog(services, Configuration);
            var emailConfig = Configuration
                              .GetSection("EmailConfiguration")
                              .Get <EmailConfiguration>();

            //health checks
            services.AddHealthCheckService(Configuration);
            services.AddHealthChecksUI();

            services.AddSingleton(emailConfig);
            services.AddControllersWithViews();
            services.AddRazorPages();
            services.AddTransient <IdentityManager>();
            services.AddTransient <IEmailSender, EmailSender>();

            // job schedule registrations
            services.AddSingleton <BackgroundWorker>();
        }
Beispiel #25
0
 public Context(IOptions <ServiceConfigurations> optionsAccs)
 {
     _options    = optionsAccs.Value;
     _connection = GetConnection();
 }
Beispiel #26
0
        static void Main(string[] args)
        {
            var                   parts                = Db.Parts;
            var                   modules              = Db.Modules;
            var                   configurations       = Db.Configurations;
            ServiceParts          serviceParts         = new ServiceParts();
            ServiceModules        serviceModules       = new ServiceModules();
            ServiceConfigurations serviceConfiguration = new ServiceConfigurations();
            List <Part>           cartP                = new List <Part>();
            List <Module>         cartM                = new List <Module>();
            List <Configuration>  cartC                = new List <Configuration>();

            while (true)
            {
                Console.Clear();
                Console.WriteLine("Welcome!");
                Console.WriteLine("Choose Action:");
                Console.WriteLine("1. Part");
                Console.WriteLine("2. Module");
                Console.WriteLine("3. Configuration");
                int input = int.Parse(Console.ReadLine());
                if (input == 1)
                {
                    while (true)
                    {
                        Console.Clear();
                        UiService.ChooseAction();
                        int input1 = int.Parse(Console.ReadLine());
                        if (input1 == 1)
                        {
                            var nesto = serviceParts.ShowProductsByPart(parts, cartP, cartM, cartC);
                            if (!nesto)
                            {
                                break;
                            }
                        }
                        else if (input1 == 2)
                        {
                            var nesto = serviceParts.ShowByPriceOfPart(parts, cartP, cartM, cartC);
                            if (!nesto)
                            {
                                break;
                            }
                        }
                        else if (input1 == 3)
                        {
                            var nesto = serviceParts.ShowByTypeOfPart(parts, cartP, cartM, cartC);
                            if (!nesto)
                            {
                                break;
                            }
                        }
                        else
                        {
                            Console.WriteLine("Enter valid action! Press any key.");
                            Console.ReadLine();
                            continue;
                        }
                    }
                }
                else if (input == 2)
                {
                    while (true)
                    {
                        UiService.ChooseAction();
                        int input1 = int.Parse(Console.ReadLine());
                        if (input1 == 1)
                        {
                            var nesto = serviceModules.ShowProductsByModules(modules, cartP, cartM, cartC);
                            if (!nesto)
                            {
                                break;
                            }
                        }
                        else if (input1 == 2)
                        {
                            var nesto = serviceModules.ShowByPriceOfModules(modules, cartP, cartM, cartC);
                            if (!nesto)
                            {
                                break;
                            }
                        }
                        else if (input1 == 3)
                        {
                            var nesto = serviceModules.ShowByTypeModules(modules, cartP, cartM, cartC);
                            if (!nesto)
                            {
                                break;
                            }
                        }
                        else
                        {
                            Console.WriteLine("Enter valid action! Press any key.");
                            Console.ReadLine();
                            continue;
                        }
                    }
                }
                else if (input == 3)
                {
                    while (true)
                    {
                        UiService.ChooseAction();
                        int input1 = int.Parse(Console.ReadLine());
                        if (input1 == 1)
                        {
                            var nesto = serviceConfiguration.ShowProductsByConfigurations(configurations, cartP, cartM, cartC);
                            if (!nesto)
                            {
                                break;
                            }
                        }
                        else if (input1 == 2)
                        {
                            var nesto = serviceConfiguration.ShowByPriceOfConfigurations(configurations, cartP, cartM, cartC);
                            if (!nesto)
                            {
                                break;
                            }
                        }
                        else if (input1 == 3)
                        {
                            var nesto = serviceConfiguration.ShowByPriceOfConfigurations(configurations, cartP, cartM, cartC);
                            if (!nesto)
                            {
                                break;
                            }
                        }
                        else
                        {
                            Console.WriteLine("Enter valid action! Press any key.");
                            Console.ReadLine();
                            continue;
                        }
                    }
                }
                else
                {
                    Console.WriteLine("Not a valid action!");
                    Console.WriteLine("Press any key to try again!");
                    Console.ReadLine();
                    continue;
                }
            }
        }
Beispiel #27
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="services"></param>
 protected override void RegisterTypes(IServiceCollection services)
 {
     base.RegisterTypes(services);
     ServiceConfigurations.RegisterTypes(services);
 }
        public EmailService(IOptions <ServiceConfigurations> serviceConfigurations)
        {
            _serviceConfigurations = serviceConfigurations.Value;

            ValidateEmails();
        }