public DataExtractor(DataExtractorConfiguration configuration, PostgreSqlDbContext dbContext, IBetsApiClient betsApiClient) { _configuration = configuration ?? throw new ArgumentNullException(nameof(configuration)); _dbContext = dbContext ?? throw new ArgumentNullException(nameof(dbContext)); _betsApiClient = betsApiClient ?? throw new ArgumentNullException(nameof(betsApiClient)); }
public BaseDbContext Create(IDbConfiguration dbConfiguration) { var dbContextOptions = PostgreSqlDbContextOptionsFactory.Create(dbConfiguration); var context = new PostgreSqlDbContext(dbContextOptions); return(context); }
public static void TestPostgreSql() { string connectString = "server=192.168.58.131;port=5432;user id=xiaozhang1;password=123456;database=testdb;"; SqlDbContext db = new PostgreSqlDbContext(connectString); //数据执行回调函数 db.ExecuteDbCallBack = (cmdText, dbParms) => { StringBuilder stringBuilder = new StringBuilder(); stringBuilder.Append("sql:" + cmdText); if (dbParms != null) { foreach (IDbDataParameter param in dbParms) { stringBuilder.Append("paramName:" + param.ParameterName + ",paramValue:" + param.Value.ToString()); } } stringBuilder.Append("\n\n"); Console.Write(stringBuilder.ToString()); }; var dbTest = new DbTest(db); dbTest.DeleteAll(); dbTest.Insert(); dbTest.Delete(); dbTest.Update(); dbTest.Query(); dbTest.OrtherQuery(); dbTest.OrtherNoneQuery(); }
public static void TestPostgreSql() { string connectString = "server=192.168.58.131;port=5432;user id=xiaozhang1;password=123456;database=testdb;"; SqlDbContext db = new PostgreSqlDbContext(connectString); //SmartDb框架提供一个记录日志委托用来记录执行SQL及参数信息,ConsoleWriteInfo在控制台输出,大家可以根据自己需要自己定义方法传给DbHelper.logAction会自动进行调用 db.DbHelper.logAction = db.DbHelper.ConsoleWriteInfo; var dbTest = new DbTest(db); dbTest.DeleteAll(); dbTest.Insert(); dbTest.Delete(); dbTest.Update(); dbTest.Query(); dbTest.OrtherQuery(); dbTest.OrtherNoneQuery(); }
public FaceRegistrationService(PostgreSqlDbContext databaseContext) { this._DatabaseContext = databaseContext; }
public async Task <IActionResult> Update(Guid id, [FromBody] Tenant tenant, CancellationToken cancellationToken = default(CancellationToken)) { if (tenant == null || !tenant.Id.Equals(id)) { return(BadRequest()); } try { cancellationToken.ThrowIfCancellationRequested(); var e = await dataSource.DbContext.FindAsync <Tenant>(new object[] { id }, cancellationToken); var options = configuration.GetSection("MultitenancyOptions"); var deploymentMode = options.GetValue <DeploymentModes>("DeploymentMode"); var connectionString = configuration.GetConnectionString(options.GetValue <string>("ConnectionString")); if (deploymentMode == DeploymentModes.Multi) { tenant.IsIsolated = true; } else if (deploymentMode == DeploymentModes.Single) { tenant.ConnectionString = connectionString; } tenant.DateModified = DateTime.UtcNow; dataSource.DbContext.Entry <Tenant>(e).CurrentValues.SetValues(tenant); await dataSource.DbContext.SaveChangesAsync(cancellationToken); /* * Update tenant in isolation mode */ if (tenant.IsIsolated) { DbContext dbContext = dataSource.DbContext; switch (tenant.Engine) { case DatabaseEngine.SqlServer: dbContext = new SqlServerDbContext(configuration, tenant, new DbContextOptions <SqlServerDbContext>()); break; case DatabaseEngine.MySql: dbContext = new MySqlDbContext(configuration, tenant, new DbContextOptions <MySqlDbContext>()); break; case DatabaseEngine.PostgreSql: dbContext = new PostgreSqlDbContext(configuration, tenant, new DbContextOptions <PostgreSqlDbContext>()); break; } try { var hostedTenant = await dbContext.Set <Tenant>() .Where(ht => ht.HostName == tenant.HostName) .FirstOrDefaultAsync(); if (hostedTenant != null) { dbContext.Entry <Tenant>(hostedTenant).State = EntityState.Modified; hostedTenant.Active = tenant.Active; hostedTenant.ConnectionString = tenant.ConnectionString; hostedTenant.DateCreated = tenant.DateCreated; hostedTenant.DateModified = tenant.DateModified; hostedTenant.DateDeleted = tenant.DateDeleted; hostedTenant.Deleted = tenant.Deleted; hostedTenant.DeploymentStatus = tenant.DeploymentStatus; hostedTenant.Description = tenant.Description; hostedTenant.Name = tenant.Name; hostedTenant.HostName = tenant.HostName; hostedTenant.Edition = tenant.Edition; hostedTenant.Engine = tenant.Engine; hostedTenant.IsIsolated = tenant.IsIsolated; hostedTenant.IsTenantAdministrator = tenant.IsTenantAdministrator; hostedTenant.SubscriptionId = tenant.SubscriptionId; hostedTenant.Theme = tenant.Theme; await dbContext.SaveChangesAsync(cancellationToken); } } catch (Exception ex) { return(new AcceptedResult(nameof(Update), ex.Message + ". " + ex.InnerException?.Message)); } } HttpContext.Response.Headers.Add("ConcurrencyStamp", Convert.ToBase64String(tenant.ConcurrencyStamp)); HttpContext.Response.Headers.Add("ConcurrencyTimeStamp", tenant.ConcurrencyTimeStamp.ToString()); } catch (DbUpdateException ex) { if (ex.InnerException != null) { return(StatusCode(StatusCodes.Status500InternalServerError, new { success = false, message = ex.InnerException.Message, details = ex.InnerException })); } return(StatusCode(StatusCodes.Status500InternalServerError, new { success = false, message = ex.Message, details = ex })); } catch (Exception ex) { if (ex.InnerException != null) { return(StatusCode(StatusCodes.Status500InternalServerError, new { success = false, message = ex.InnerException.Message, details = ex.InnerException })); } return(StatusCode(StatusCodes.Status500InternalServerError, new { success = false, message = ex.Message, details = ex })); } return(new NoContentResult()); }
public ExecuterService(ILogger <ExecuterService> logger, PostgreSqlDbContext context, IOptions <List <PipeLineDefinition> > pipes) { _logger = logger; _context = context; _pipes = pipes; }
public TrendingTagsCached(PostgreSqlDbContext context, IOptionsMonitor <CachedOptions> optionsAccessor) : base(optionsAccessor) { this.context = context; }
public PostgreSqlMessageData(string ConnectionString, ILogger <PostgreSqlMessageData> logger, ILogger <PostgreSqlDbContext> loggerDb) { _db = new PostgreSqlDbContext(ConnectionString, loggerDb); _logger = logger; }
public AccountPostgreSqlRepository(PostgreSqlDbContext dbContext) : base(dbContext) { }
public static void EnsureSeeded(this PostgreSqlDbContext context, IOptions <SeedingOptions> optionsAccessor) { string userMediaDirectory = "wwwroot" + ds + "media" + ds + "user"; var options = optionsAccessor.Value; if (options.SeedDummyData) { SeedDummyData(); } void SeedDummyData() { string dummyDataDirectory = "Resources" + ds + "DummyData" + ds; if (!context.Users.Any()) { var Users = JsonConvert.DeserializeObject <List <ApplicationUser> >(File.ReadAllText( dummyDataDirectory + "Users.json")); context.AddRange(Users); var UserFollows = JsonConvert.DeserializeObject <List <UserFollow> >(File.ReadAllText( dummyDataDirectory + "UserFollows.json")); context.AddRange(UserFollows); var Posts = JsonConvert.DeserializeObject <List <Post> >(File.ReadAllText( dummyDataDirectory + "Posts.json")); context.AddRange(Posts); context.Database.ExecuteSqlRaw("ALTER SEQUENCE \"Posts_Id_seq\" RESTART WITH 65"); var ImageAttachments = JsonConvert.DeserializeObject <List <ImageAttachment> >( File.ReadAllText(dummyDataDirectory + "ImageAttachments.json")); context.AddRange(ImageAttachments); var UserPosts = JsonConvert.DeserializeObject <List <UserPost> >( File.ReadAllText(dummyDataDirectory + "UserPosts.json")); context.AddRange(UserPosts); var Comments = JsonConvert.DeserializeObject <List <Comment> >( File.ReadAllText(dummyDataDirectory + "Comments.json")); context.AddRange(Comments); context.Database.ExecuteSqlRaw("ALTER SEQUENCE \"Comments_Id_seq\" RESTART WITH 37"); var DirectChats = JsonConvert.DeserializeObject <List <DirectChat> >( File.ReadAllText(dummyDataDirectory + "DirectChats.json")); context.AddRange(DirectChats); context.Database.ExecuteSqlRaw("ALTER SEQUENCE \"Chats_Id_seq\" RESTART WITH 2"); var UserChats = JsonConvert.DeserializeObject <List <UserChat> >( File.ReadAllText(dummyDataDirectory + "UserChats.json")); context.AddRange(UserChats); var Messages = JsonConvert.DeserializeObject <List <Message> >( File.ReadAllText(dummyDataDirectory + "Messages.json")); context.AddRange(Messages); context.Database.ExecuteSqlRaw("ALTER SEQUENCE \"Messages_Id_seq\" RESTART WITH 2"); context.SaveChanges(); DirectChats[0].LastMessage = Messages[0]; context.Chats.UpdateRange(DirectChats); context.SaveChanges(); CopyDirectoryRecursively(dummyDataDirectory + "media", userMediaDirectory); } } void CopyDirectoryRecursively(string sourceDirName, string destDirName) { var dir = new DirectoryInfo(sourceDirName); if (dir.Exists) { var dirs = dir.GetDirectories(); if (!Directory.Exists(destDirName)) { Directory.CreateDirectory(destDirName); } foreach (FileInfo file in dir.GetFiles()) { string destPath = Path.Combine(destDirName, file.Name); var destFile = new FileInfo(destPath); if (!destFile.Exists) { file.CopyTo(destPath, true); } } foreach (DirectoryInfo subdir in dirs) { string destPath = Path.Combine(destDirName, subdir.Name); CopyDirectoryRecursively(subdir.FullName, destPath); } } } }
public HistoryPostgreSqlRepository(PostgreSqlDbContext dbContext) : base(dbContext) { }
public PopularUsersCached(PostgreSqlDbContext context, IOptionsMonitor <CachedOptions> optionsAccessor) : base(optionsAccessor) { this.context = context; }
public RoleController(PostgreSqlDbContext postgreSqlDbContext) { _postgreSqlDbContext = postgreSqlDbContext; }