private string GetIndexName(IDatabaseInformation databaseInformation) { if (!databaseInformation.DatabaseName.Contains("{")) { indexName = databaseInformation.DatabaseName; } else { var dbInformationList = databaseInformation.DatabaseName.Split('{'); var indexNumber = Convert.ToInt32(dbInformationList[1].Replace("{", string.Empty).Replace("}", string.Empty).Trim()); var indexRecord = client.CatIndices().Records .Where(r => r.Index.Contains(dbInformationList[0])) .OrderByDescending(r => Convert.ToInt32(r.Index.Split('_').LastOrDefault())) .Skip(indexNumber) .FirstOrDefault(); if (indexRecord == null) { throw new Exception($"Cannot gotton index name!({databaseInformation.DatabaseName})"); } indexName = indexRecord.Index; } return(indexName); }
public ElasticRepository(IDatabaseInformation databaseInformation) { client = Connection.GetElasticSearchClient(); this.databaseInformation = databaseInformation; indexName = GetIndexName(databaseInformation); typeName = databaseInformation.TableName; }
private static string GetId(Guid databaseGuid) { if (databaseGuid == Guid.Empty) { throw new ArgumentException("Guid.Empty is not a valid MdbGuid value", "mdbGuid"); } IDatabaseInformation databaseInformation = DatabaseInformationCache.Singleton.Get(databaseGuid); if (databaseInformation == null) { return(databaseGuid.ToString()); } return(databaseInformation.DatabaseName); }
protected override IMdbSystemMailboxPinger CreateOnCacheMiss(Guid key, ref bool shouldAdd) { shouldAdd = true; if (PingerCache.CreatePingerTestHook != null) { return(PingerCache.CreatePingerTestHook(key)); } IDatabaseInformation databaseInformation = DatabaseInformationCache.Singleton.Get(key); if (databaseInformation != null) { ExTraceGlobals.DatabasePingerTracer.TraceDebug <string, Guid>((long)this.GetHashCode(), "[PingerCache.CreateOnCacheMiss] Acquire database information for Mdb: {0}, Guid: {1}", databaseInformation.DatabaseName, databaseInformation.DatabaseGuid); return(new MdbSystemMailboxPinger(key)); } ExTraceGlobals.DatabasePingerTracer.TraceDebug <Guid>((long)this.GetHashCode(), "[PingerCache.CreateOnCacheMiss] Failed to get database information for Mdb Guid: {0}. NOT creating pinger - caching null instead.", key); return(null); }
public XpoDataAccessLayer(IDatabaseInformation dbInfo) { this._dbInfo = dbInfo ?? throw new ArgumentNullException(nameof(dbInfo)); }
public Elastic2SqlMapper(IDatabaseInformation sourceDbInfo, IDatabaseInformation targetDbInfo) { this.sourceDbInfo = sourceDbInfo; this.targetDbInfo = targetDbInfo; }
public SqlServerRepository(IDatabaseInformation databaseInformation) { this.databaseInformation = databaseInformation; sqlConnection = Connection.GetSqlConnection(); }
public SqlAccessLayer(IDatabaseInformation dbInfo) { this._dbInfo = dbInfo ?? Factory.CreateDefaultDatabaseInformation(); }
public Handler(IDatabaseInformation databaseInformation) { _databaseInformation = databaseInformation; }