private TectureBuilder Configure(bool fake) { TectureBuilder tb = new TectureBuilder(); tb.WithChannel <Db>(c => { LazyDisposable <ToyFactoryDbContext> ld = fake ? LazyDisposable <ToyFactoryDbContext> .Default() : new LazyDisposable <ToyFactoryDbContext>(() => new ToyFactoryDbContext()); c.UseEfCoreOrm(ld); c.UseEfCoreDirectSql(ld); }); return(tb); }
private TectureBuilder Configure(bool fake) { TectureBuilder tb = new TectureBuilder(); tb.WithChannel <Db>(c => { LazyDisposable <ToyFactoryDbContext> ld = fake ? LazyDisposable <ToyFactoryDbContext> .Default() : new LazyDisposable <ToyFactoryDbContext>(() => new ToyFactoryDbContext()); c.UseEfCoreOrm(ld); c.UseEfCoreDirectSql(ld, new MariaInterpolation()); }); tb.WithChannel <Logic.Channels.System>(x => x.UseDateTime()); return(tb); }
public Chat(IServiceProvider services) { webhookLoader = new LazyDisposable <Task <DiscordWebhookClient> >(async() => { var webhooks = await Context.Guild.GetWebhooksAsync(); var webhookInfo = webhooks?.FirstOrDefault(x => x.ChannelId == Context.Channel.Id) ?? await((ITextChannel)Context.Channel).CreateWebhookAsync("Chat Reply"); return(new DiscordWebhookClient(webhookInfo)); }); lazyChatService = new LazyDisposable <ChatService>(() => { return(services.GetRequiredService <ChatService>()); }); lazyTranslationScriptId = new Lazy <string>(() => services.GetScoppedSettings <Credentials>().TranslationScriptId); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddControllers(); services.AddTransient <ToyFactoryDbContext>(); services.AddTransient(sp => { ILazyDisposable <ToyFactoryDbContext> ld = new LazyDisposable <ToyFactoryDbContext>(() => sp.GetService <ToyFactoryDbContext>()); var tb = new TectureBuilder(); tb.WithChannel <Db>(c => { c.UseEfCoreOrm(ld); c.UseEfCoreDirectSql(ld); }); return(tb.Build()); }); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddControllers(); services.AddTransient <ToyFactoryDbContext>(); services.AddTransient(sp => { var ld = new LazyDisposable <ToyFactoryDbContext>(() => { var dc = sp.GetService <ToyFactoryDbContext>(); dc.ChangeTracker.AutoDetectChangesEnabled = false; return(dc); }); var tb = new TectureBuilder(); tb.WithChannel <Db>(c => { c.UseEfCoreOrm(ld); c.UseEfCoreDirectSql(ld); }); return(tb.Build()); }); }
public EfCoreTransactionManager(Type channel, LazyDisposable <DbContext> context) : base(channel) { _context = context; }
public Maintenance(IServiceProvider services, ErrorResolver errorResolver) { resolver = errorResolver; lazyIssueTracker = new LazyDisposable <IssueTracker>(() => services.GetRequiredService <IssueTracker>()); prefix = services.GetScoppedSettings <AppSettings>().Settings.DefaultCommandPrefix; }