private static void AddConfigurationServices(IServiceCollection services) { services.AddSingleton(configuration); services.AddSingleton <TeamsConfiguration>(ctx => { var t = new TeamsConfiguration(); configuration.Bind("Teams", t); return(t); }); services.AddSingleton <BackupOptions>(ctx => { var t = new BackupOptions(); configuration.Bind("Backup", t); return(t); }); services.AddSingleton <MySqlOptions>(ctx => { var t = new MySqlOptions(); configuration.Bind("MySql", t); return(t); }); services.AddSingleton <RetentionOptions>(ctx => { var t = new RetentionOptions(); configuration.Bind("Retention", t); return(t); }); services.AddSingleton <SlackConfiguration>(ctx => { var t = new SlackConfiguration(); configuration.Bind("Slack", t); return(t); }); services.AddSingleton <AzureConfiguration>(ctx => { var t = new AzureConfiguration(); configuration.Bind("Azure", t); return(t); }); services.AddSingleton <S3Configuration>(ctx => { var t = new S3Configuration(); configuration.Bind("S3", t); return(t); }); services.AddSingleton <PhysicalConfiguration>(ctx => { var t = new PhysicalConfiguration(); configuration.Bind("Physical", t); return(t); }); }
public TeamManager(TeamsConfiguration configuration) { Config = configuration; Teams = new ConcurrentDictionary <string, Team>(); for (int i = 0; i < configuration.Max; i++) { CreateTeam(); } }