Exemplo n.º 1
0
        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            // Settings
            var sqlSettings = new SqlSettings();

            Configuration.Bind("SQL", sqlSettings);
            services.AddSingleton <SqlSettings>(sqlSettings);

            var settings = new Settings();

            Configuration.Bind("Configuration", settings);
            services.AddSingleton <Settings>(settings);

            var pusherSettings = new PusherSettings();

            Configuration.Bind("Pusher", pusherSettings);
            services.AddSingleton <PusherSettings>(pusherSettings);

            // Repositories
            services.AddSingleton <IChoreRepository, ChoreRepository>();

            // Clients
            services.AddSingleton <SqlClient>();

            // ServiceBus
            services.AddSingleton <ServiceBusClient>();
            services.AddHostedService <EndpointInitializer>();

            // Message Handlers
            services.AddSingleton <CreateChoreHandler>();
            services.AddSingleton <DeleteChoreHandler>();

            services.AddControllers();
        }
Exemplo n.º 2
0
        public static IHostBuilder CreateHostBuilder(string[] args) =>
        Host.CreateDefaultBuilder(args).
        ConfigureAppConfiguration((context, builder) =>
                                  builder.SetBasePath(Directory.GetCurrentDirectory())
                                  .AddJsonFile($"appsettings.json", true, true)
                                  .Build()
                                  )
        .ConfigureServices((hostContext, services) =>
        {
            var settings = new PusherSettings();
            hostContext.Configuration.Bind("Pusher", settings);
            services.AddSingleton <PusherSettings>(settings);

            var config = new Settings.Settings();
            hostContext.Configuration.Bind("Configuration", config);
            services.AddSingleton <Settings.Settings>(config);
            // Event Log
            services.AddSingleton <EventLog>();

            // ServiceBus
            services.AddSingleton <AddEventHandler>();
            services.AddSingleton <ClearEventsHandler>();

            services.AddSingleton <ServiceBusClient>();
            services.AddHostedService <EndpointInitializer>();

            services.AddHostedService <Worker>();
        });
Exemplo n.º 3
0
 public EventLog(ILogger <EventLog> logger, PusherSettings settings)
 {
     _pusher = new Pusher(settings.AppId, settings.Key, settings.Secret, new PusherOptions()
     {
         Cluster = settings.Cluster
     });
     _logger = logger;
 }