public Startup(IConfiguration configuration) { Configuration = configuration; _optionsResolver = new OptionsResolver(configuration); _connectionStringResolver = new ConnectionStringResolver(configuration); _customMediaTypeService = new CustomMediaTypeService(); }
protected virtual void CreateOrMigrate(Tenant tenant, Action <TDbContext> seedAction) { var args = new DbPerTenantConnectionStringResolveArgs( tenant == null ? (int?)null : (int?)tenant.Id, tenant == null ? MultiTenancySides.Host : MultiTenancySides.Tenant ); args["DbContextType"] = typeof(TDbContext); args["DbContextConcreteType"] = typeof(TDbContext); var nameOrConnectionString = ConnectionStringHelper.GetConnectionString( ConnectionStringResolver.GetNameOrConnectionString(args) ); using (var uow = UnitOfWorkManager.Begin(TransactionScopeOption.Suppress)) { using (var dbContext = DbContextResolver.Resolve <TDbContext>(nameOrConnectionString, null)) { dbContext.Database.Migrate(); seedAction?.Invoke(dbContext); UnitOfWorkManager.Current.SaveChanges(); uow.Complete(); } } }
public CosmosEmployeeService(ConnectionStringResolver connectionStringResolver, CompanyNameResolver companyNameResolver) { _companyName = companyNameResolver.GetCompanyName(); var connectionString = connectionStringResolver.GetConnectionString(); _cosmosClient = new CosmosClient(connectionString); }
public UnitOfWorkFactory( ConnectionStringResolver connectionStringResolver, IRepositoryMapper repositoryTypeMapper ) { _connectionStringResolver = connectionStringResolver; _repositoryTypeMapper = repositoryTypeMapper; }
public void Should_Fail_On_Empty_Connection_String() { var resolver = new ConnectionStringResolver { ConnectionStrings = new ConnectionStringSettingsCollection { new ConnectionStringSettings("correct_name", "") } }; Assert.Throws <TransportException>(() => resolver.ResolveConnectionString("correct_name")); }
public void Should_Succeed_On_Connection_String_Found() { var resolver = new ConnectionStringResolver { ConnectionStrings = new ConnectionStringSettingsCollection { new ConnectionStringSettings("correct_name", "Some text"), new ConnectionStringSettings("wrong_name", "Wrong text") } }; resolver.ResolveConnectionString("correct_name").Should().Be("Some text"); }
public WorkOrderFlowEntity GetOrder(Guid orderId) { IConnectionStringResolver connectionStringResolver = new ConnectionStringResolver("Name"); IDbContextResolver dbContextResolver = new DbContextResolver(); using (var dbContext = dbContextResolver.Resolve <SqlDbContext>(connectionStringResolver)) { IOrderRepository orderRepository = new OrderRepository(dbContext); return(orderRepository.Get(orderId)); } }
public static IHost MigrateBillChopDb(this IHost webHost) { var connectionString = ConnectionStringResolver.GetBillChopDbConnectionString(); var options = new DbContextOptionsBuilder <BillChopContext>() .UseSqlServer(connectionString) .UseLazyLoadingProxies() .Options; var dbContext = new BillChopContext(options); dbContext.Database.Migrate(); return(webHost); }
public void TestGetWorkOrders() { IConnectionStringResolver connectionStringResolver = new ConnectionStringResolver("Asmkt.WorkOrderSystem.Database"); using (var uow = new EfUnitOfWork(connectionStringResolver)) { var context = new EfDbContext <WorkOrderEntity, Guid>(uow.DbContext); var datas = context.Entities.ToList(); Console.WriteLine(context.CurrentContext.Database.Connection.GetHashCode()); Assert.IsTrue(datas != null); var repository2 = new EfDbContext <WorkOrderFlowEntity, Guid>(uow.DbContext); var entity = repository2.Entities.Find(Guid.Parse("07B60E03-1BFC-4C5C-9109-13CC6F77375B")); Console.WriteLine(repository2.CurrentContext.Database.Connection.GetHashCode()); Assert.IsTrue(entity != null); uow.Begin(); } }
public async void CreateOrder(WorkOrderFlowEntity orderEntity) { IConnectionStringResolver connectionStringResolver = new ConnectionStringResolver("Name"); using (var unitOfWork = new EFUow.EfUnitOfWork(connectionStringResolver)) { WorkOrderFlowEntity order = new WorkOrderFlowEntity(); IOrderRepository orderRepository = new OrderRepository(unitOfWork.DbContext); unitOfWork.Begin(); var result = await orderRepository.InsertAsync(order); if (!result) { unitOfWork.RollBack(); return; } unitOfWork.Complete(); } }
public async Task MigrateAsync() { /* We intentionally resolving the MarauderMapMigrationsDbContext * from IServiceProvider (instead of directly injecting it) * to properly get the connection string of the current tenant in the * current scope. */ var database = _serviceProvider .GetRequiredService <MarauderMapDbContext>() .Database; var dataSource = ConnectionStringResolver.GetDataSourceValue(database.GetConnectionString()); var dbPath = Path.GetDirectoryName(dataSource); if (!Directory.Exists(dbPath)) { Directory.CreateDirectory(dbPath); } await database.MigrateAsync(); }
public void ConfigureServices(IServiceCollection services) { services.AddSingleton(Log.Logger); var connectionStringResolver = new ConnectionStringResolver(_configuration); services.AddSingleton(connectionStringResolver); services.AddDbContext <ApplicationDbContext>(options => options.UseSqlServer(connectionStringResolver.GetConnectionString())); services.AddDefaultIdentity <ApplicationUser>(options => options.SignIn.RequireConfirmedAccount = true) .AddEntityFrameworkStores <ApplicationDbContext>(); services.AddHostedService <MigratorHostedService>(); services.AddIdentityServer().AddApiAuthorization <ApplicationUser, ApplicationDbContext>(); services.AddAuthentication().AddIdentityServerJwt(); services.AddControllersWithViews(); services.AddRazorPages(); services.AddServices(); services.MapRepositories(); services.AddManagers(); services.AddApiVersioning(); if (_env.IsDevelopment()) { services.AddSwaggerGen(options => { options.SwaggerDoc("v1", new OpenApiInfo { Title = "Sentiment Analyser API", Version = "v1" }); options.SchemaFilter <EnumSchemaFilter>(); }); } Mapper.Initialize(); services.AddSpaStaticFiles(configuration => { configuration.RootPath = "ClientApp/dist"; }); }
public SQLiteConnectionConnection( [NotNull] DbContextConfiguration configuration, [NotNull] ConnectionStringResolver connectionStringResolver) : base(configuration, connectionStringResolver) { }
protected virtual string ResolveConnectionString(ConnectionStringResolveArgs args) { return(ConnectionStringResolver.GetNameOrConnectionString(args)); }
protected virtual string ResolveConnectionString(Dictionary <string, object> arg) { return(ConnectionStringResolver.GetNameOrConnectionString(arg)); }
private ConnectionStringResolver() { _connectionStringResolver = new ConnectionStringResolver(); }
public ActionResult SwitchConnection() { AuthenticationManager.SignOut(); ConnectionStringResolver.SwitchConnection(); return(Redirect(Request.UrlReferrer.AbsolutePath)); }
protected virtual string ResolveConnectionString(ref string schema) { return(ConnectionStringResolver.GetNameOrConnectionString(ref schema)); }
protected virtual async Task <string> ResolveConnectionStringAsync(ConnectionStringResolveArgs args) { return(await ConnectionStringResolver.GetNameOrConnectionStringAsync(args)); }
public void SetUp() { _fixture = new Fixture(); _configurationMock = new Mock <IConfiguration>(); _connectionStringResolver = new ConnectionStringResolver(_configurationMock.Object); }