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); }
public static IMachineBuilder AddMemoryDataAccess(this IMachineBuilder builder) { builder.Services.AddSingleton <IEngineRepository, MemoryEngineRepository>(); builder.Services.AddSingleton <IBuildRepository, MemoryBuildRepository>(); builder.Services.AddSingleton <IProjectRepository, MemoryProjectRepository>(); return(builder); }
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); }
public static IWarMachine GetMachine(IMachineBuilder machine) { return(machine.BuildMachine()); }
public static IMachineBuilder AddTextCorpus <T>(this IMachineBuilder builder) where T : class, ITextCorpusFactory { builder.Services.AddSingleton <ITextCorpusFactory, T>(); return(builder); }
public static IMachineBuilder AddTextFileTextCorpus(this IMachineBuilder builder, IConfiguration config) { builder.Services.Configure <TextFileTextCorpusOptions>(config); return(builder.AddTextFileTextCorpus()); }
public static IMachineBuilder AddTextFileTextCorpus(this IMachineBuilder builder, Action <TextFileTextCorpusOptions> configureOptions) { builder.Services.Configure(configureOptions); return(builder.AddTextFileTextCorpus()); }
public static IMachineBuilder AddTextFileTextCorpus(this IMachineBuilder builder) { builder.Services.AddSingleton <ITextCorpusFactory, TextFileTextCorpusFactory>(); return(builder); }
public static IMachineBuilder AddTransferEngine(this IMachineBuilder builder) { builder.Services.AddSingleton <IRuleEngineFactory, TransferEngineFactory>(); return(builder); }
public static IMachineBuilder AddThotSmtModel(this IMachineBuilder builder, IConfiguration config) { builder.Services.Configure <ThotSmtModelOptions>(config); return(builder.AddThotSmtModel()); }
public static IMachineBuilder AddThotSmtModel(this IMachineBuilder builder, Action <ThotSmtModelOptions> configureOptions) { builder.Services.Configure(configureOptions); return(builder.AddThotSmtModel()); }
public static IMachineBuilder AddThotSmtModel(this IMachineBuilder builder) { builder.Services.AddSingleton <ISmtModelFactory, ThotSmtModelFactory>(); return(builder); }
public static IMachineBuilder AddEngineOptions(this IMachineBuilder builder, IConfiguration config) { builder.Services.Configure <EngineOptions>(config); return(builder); }
public static IMachineBuilder AddEngineOptions(this IMachineBuilder builder, Action <EngineOptions> configureOptions) { builder.Services.Configure(configureOptions); return(builder); }
public static IMachineBuilder AddMongoDataAccess(this IMachineBuilder builder, IConfiguration config) { builder.Services.Configure <MongoDataAccessOptions>(config); return(builder.AddMongoDataAccess()); }
public static IMachineBuilder AddMongoDataAccess(this IMachineBuilder builder, Action <MongoDataAccessOptions> configureOptions) { builder.Services.Configure(configureOptions); return(builder.AddMongoDataAccess()); }