Exemple #1
0
        public static IMachineBuilder AddMongoDataAccess(this IMachineBuilder builder)
        {
            var globalPack = new ConventionPack
            {
                new CamelCaseElementNameConvention(),
                new ObjectRefConvention(),
                new IgnoreIfNullConvention(true)
            };

            ConventionRegistry.Register("Machine", globalPack, t => t.Namespace == "SIL.Machine.WebApi.Models");

            RegisterEntity <Engine>(cm =>
            {
                cm.MapMember(e => e.Projects)
                .SetSerializer(new EnumerableInterfaceImplementerSerializer <HashSet <string>, string>(
                                   new StringSerializer(BsonType.ObjectId)));
            });
            builder.Services.AddSingleton <IEngineRepository, MongoEngineRepository>();

            RegisterEntity <Build>();
            builder.Services.AddSingleton <IBuildRepository, MongoBuildRepository>();

            RegisterEntity <Project>();
            builder.Services.AddSingleton <IProjectRepository, MongoProjectRepository>();

            return(builder);
        }
Exemple #2
0
 public static IMachineBuilder AddMemoryDataAccess(this IMachineBuilder builder)
 {
     builder.Services.AddSingleton <IEngineRepository, MemoryEngineRepository>();
     builder.Services.AddSingleton <IBuildRepository, MemoryBuildRepository>();
     builder.Services.AddSingleton <IProjectRepository, MemoryProjectRepository>();
     return(builder);
 }
Exemple #3
0
 public static IMachineBuilder AddNoDbDataAccess(this IMachineBuilder builder)
 {
     builder.Services.AddNoDbForEntity <Engine>();
     builder.Services.AddNoDbForEntity <Build>();
     builder.Services.AddNoDbForEntity <Project>();
     builder.Services.AddSingleton <IEngineRepository>(sp => new MemoryEngineRepository(
                                                           new NoDbEngineRepository(sp.GetService <IBasicCommands <Engine> >(),
                                                                                    sp.GetService <IBasicQueries <Engine> >())));
     builder.Services.AddSingleton <IBuildRepository>(sp => new MemoryBuildRepository(
                                                          new NoDbBuildRepository(sp.GetService <IBasicCommands <Build> >(),
                                                                                  sp.GetService <IBasicQueries <Build> >())));
     builder.Services.AddSingleton <IProjectRepository>(sp => new MemoryProjectRepository(
                                                            new NoDbProjectRepository(sp.GetService <IBasicCommands <Project> >(),
                                                                                      sp.GetService <IBasicQueries <Project> >())));
     return(builder);
 }
Exemple #4
0
 public static IWarMachine GetMachine(IMachineBuilder machine)
 {
     return(machine.BuildMachine());
 }
Exemple #5
0
 public static IMachineBuilder AddTextCorpus <T>(this IMachineBuilder builder) where T : class, ITextCorpusFactory
 {
     builder.Services.AddSingleton <ITextCorpusFactory, T>();
     return(builder);
 }
Exemple #6
0
 public static IMachineBuilder AddTextFileTextCorpus(this IMachineBuilder builder,
                                                     IConfiguration config)
 {
     builder.Services.Configure <TextFileTextCorpusOptions>(config);
     return(builder.AddTextFileTextCorpus());
 }
Exemple #7
0
 public static IMachineBuilder AddTextFileTextCorpus(this IMachineBuilder builder,
                                                     Action <TextFileTextCorpusOptions> configureOptions)
 {
     builder.Services.Configure(configureOptions);
     return(builder.AddTextFileTextCorpus());
 }
Exemple #8
0
 public static IMachineBuilder AddTextFileTextCorpus(this IMachineBuilder builder)
 {
     builder.Services.AddSingleton <ITextCorpusFactory, TextFileTextCorpusFactory>();
     return(builder);
 }
Exemple #9
0
 public static IMachineBuilder AddTransferEngine(this IMachineBuilder builder)
 {
     builder.Services.AddSingleton <IRuleEngineFactory, TransferEngineFactory>();
     return(builder);
 }
Exemple #10
0
 public static IMachineBuilder AddThotSmtModel(this IMachineBuilder builder,
                                               IConfiguration config)
 {
     builder.Services.Configure <ThotSmtModelOptions>(config);
     return(builder.AddThotSmtModel());
 }
Exemple #11
0
 public static IMachineBuilder AddThotSmtModel(this IMachineBuilder builder,
                                               Action <ThotSmtModelOptions> configureOptions)
 {
     builder.Services.Configure(configureOptions);
     return(builder.AddThotSmtModel());
 }
Exemple #12
0
 public static IMachineBuilder AddThotSmtModel(this IMachineBuilder builder)
 {
     builder.Services.AddSingleton <ISmtModelFactory, ThotSmtModelFactory>();
     return(builder);
 }
Exemple #13
0
 public static IMachineBuilder AddEngineOptions(this IMachineBuilder builder,
                                                IConfiguration config)
 {
     builder.Services.Configure <EngineOptions>(config);
     return(builder);
 }
Exemple #14
0
 public static IMachineBuilder AddEngineOptions(this IMachineBuilder builder,
                                                Action <EngineOptions> configureOptions)
 {
     builder.Services.Configure(configureOptions);
     return(builder);
 }
Exemple #15
0
 public static IMachineBuilder AddMongoDataAccess(this IMachineBuilder builder, IConfiguration config)
 {
     builder.Services.Configure <MongoDataAccessOptions>(config);
     return(builder.AddMongoDataAccess());
 }
Exemple #16
0
 public static IMachineBuilder AddMongoDataAccess(this IMachineBuilder builder,
                                                  Action <MongoDataAccessOptions> configureOptions)
 {
     builder.Services.Configure(configureOptions);
     return(builder.AddMongoDataAccess());
 }