protected StorageBase(IDatabaseDriver databaseDriver, string connectionString, ITable table, IMapper <TEntity> mapper) { ConnectionString = connectionString; Table = table; Mapper = mapper; DatabaseDriver = databaseDriver; }
public static IEnumerable <DbParameter> ToDbParameters( this IDictionary <string, object> parameters, IDatabaseDriver databaseDriver, ITable table) { return(parameters.Select(p => p.ToDbParameter(databaseDriver, table.Columns))); }
private void hBA1CSchätzenToolStripMenuItem_Click(object sender, EventArgs e) { IDatabaseDriver database = AzusaContext.GetInstance().DatabaseDriver; DexTimelineEntry latestGlucose = database.Dexcom_GetLatestGlucoseEntry(); DateTime scope = latestGlucose.Timestamp.AddMonths(-3); IEnumerable <DexTimelineEntry> entries = database.Dexcom_GetGlucoseEntriesAfter(scope); uint totalGlucose = 0; uint numGlucoseValues = 0; foreach (DexTimelineEntry entry in entries) { if (entry.Glucose.HasValue) { totalGlucose += entry.Glucose.Value; numGlucoseValues++; } } double avgGlucose = (double)totalGlucose / (double)numGlucoseValues; double hba1c = 0.031; hba1c *= avgGlucose; hba1c += 2.393; string text = String.Format("Geschätzer HBA1c: {0}%", hba1c); Debug.WriteLine(text); MessageBox.Show(text); }
public void SetUp() { _driver = Substitute.For <IDatabaseDriver>(); var logger = Substitute.For <ILogger <BoardController> >(); _controller = new BoardController(logger, _driver); }
public string Serialize(object obj, IDatabaseDriver databaseDriver) { string str = JSON.Serialize(obj); string escaped = databaseDriver.Escape(str, true); return(escaped); }
private static string GetSqlTypeSql(IDatabaseDriver databaseDriver, SqlType sqlType) { var typeSql = databaseDriver.GetSqlTypeName(sqlType.Type); if (sqlType.Length.HasValue) { var lengthValue = sqlType.Length == int.MaxValue ? databaseDriver.GetSqlStatementTemplate(SqlStatement.MaxLength) : sqlType.Length.ToString(); typeSql = typeSql.Format(new { length = lengthValue }); } if (sqlType.Precision.HasValue) { typeSql = typeSql.Format(new { precision = sqlType.Precision }); } if (sqlType.Scale.HasValue) { typeSql = typeSql.Format(new { scale = sqlType.Scale }); } return(typeSql); }
private static void Gather(Media medium, XDvdFsFileSystemEntry entry, FilesystemMetadataEntity parent) { IDatabaseDriver dbDriver = AzusaContext.GetInstance().DatabaseDriver; FilesystemMetadataEntity dirEntity = new FilesystemMetadataEntity(); dirEntity.FullName = entry.FullPath; dirEntity.IsDirectory = entry.IsFolder; dirEntity.MediaId = medium.Id; dirEntity.Modified = null; dirEntity.ParentId = parent != null ? parent.Id : -1; if (entry.IsFolder) { dbDriver.AddFilesystemInfo(dirEntity); foreach (XDvdFsFileSystemEntry subfile in entry.Files) { Gather(medium, subfile, dirEntity); } } else { int readSize = (int)Math.Min(2048, entry.LogicalFileSize); byte[] buffer = new byte[readSize]; Stream inStream = entry.GetStream(); readSize = inStream.Read(buffer, 0, readSize); inStream.Close(); Array.Resize(ref buffer, readSize); dirEntity.Header = buffer; dbDriver.AddFilesystemInfo(dirEntity); } }
public static string GetSeparateColumnsStatement(IDatabaseDriver databaseDriver, string separator, string[] columns, string[] parameters, Func <IDatabaseDriver, string, string, string> statement) { if (columns.Length == 0) { throw new ArgumentException("The columns are empty", nameof(columns)); } if (parameters.Length == 0) { throw new ArgumentException("The parameters are empty", nameof(parameters)); } var filter = new StringBuilder(); for (int i = 0; i < columns.Length; i++) { var column = columns[i]; var parameter = parameters[i]; filter.Append( statement(databaseDriver, column, parameter)); if (i + 1 < columns.Length) { filter.AppendFormat(" {0} ", separator); } } return(filter.ToString()); }
IDatasource GetDefaultDatasource(IDatabaseDriver driver) { if (driver != null) { return driver.CreateNewIDatasource(""); } return null; }
public BaseIntegrationTest(IDatabaseDriver databaseDriver, string connectionString, bool drop) { var mapper = new Mapper(); connection = FolkeConnection.Create(databaseDriver, mapper, connectionString); transaction = connection.BeginTransaction(); connection.CreateTable <TestPoco>(drop: drop); connection.CreateTable <TestManyPoco>(drop: drop); connection.CreateTable <TestCollection>(drop: drop); connection.CreateTable <TestCollectionMember>(drop: drop); connection.CreateTable <TestOtherPoco>(drop: drop); connection.CreateTable <TestMultiPoco>(drop); connection.CreateTable <Playground>(drop); var parentTableWithGuidMapping = mapper.GetTypeMapping <ParentTableWithGuid>(); parentTableWithGuidMapping.Property(x => x.Key).HasColumnName("KeyColumn"); parentTableWithGuidMapping.HasKey(x => x.Key); connection.CreateOrUpdateTable <TableWithGuid>(); connection.CreateOrUpdateTable <ParentTableWithGuid>(); connection.CreateOrUpdateTable <GrandParentWithGuid>(); testValue = new TableWithGuid { Id = Guid.NewGuid(), Text = "Text" }; connection.Save(testValue); }
public Database(IDatabaseDriver databaseDriver, DatabaseCredentials databaseCredentials) { DatabaseDriver = databaseDriver; DatabaseCredentials = databaseCredentials; AddSerializers(); }
/// <inheritdoc /> public virtual async Task SynchronizeSchemaAsync(string connectionString, IDatabaseDriver databaseDriver, CancellationToken cancellationToken) { if (_synchronizationStrategy == SchemaSynchronizationStrategy.Ignore) { return; } if (ShouldSynchronizeSchema) { await _schemaSynchronizedSemaphore.WaitAsync(cancellationToken).ConfigureAwait(false); try { if (ShouldSynchronizeSchema) { if (connectionString == null) { throw new ArgumentNullException(nameof(connectionString)); } if (databaseDriver == null) { throw new ArgumentNullException(nameof(databaseDriver)); } _synchronizationsTries++; using (var connection = databaseDriver.CreateConnection(connectionString)) { await connection.OpenAsync(cancellationToken).ConfigureAwait(false); var tableExistsSql = databaseDriver.GetSqlStatementTemplate(SqlStatement.TableExists).Format( new { // Do not parse the identifiers here. schemaName = Schema ?? databaseDriver.DefaultSchema, tableName = Name }); // Check if the table exists var tableExists = await connection.ExecuteScalarAsync <bool>( tableExistsSql, cancellationToken).ConfigureAwait(false); if (!tableExists) { await DatabaseSchema.CreateTableAsync(databaseDriver, connection, this, cancellationToken).ConfigureAwait(false); } await DatabaseSchema.UpdateTableSchemaAsync(databaseDriver, connection, this, cancellationToken).ConfigureAwait(false); SchemaSynchronized = true; } } } finally { _schemaSynchronizedSemaphore.Release(); } } }
private IQueryableCommand <T> GetQuery(IDatabaseDriver driver, IMapper mapper) { if (query == null) { if (fetches == null) { query = FluentBaseBuilder <T, FolkeTuple <object> > .Select(driver, mapper).All().From().Where((x, y) => x.Key().Equals(y.Item0)); } else { var selectQuery = FluentBaseBuilder <T, FolkeTuple <object> > .Select(driver, mapper).All(); foreach (var fetch in fetches) { selectQuery.All(fetch); } var fromQuery = selectQuery.From(); foreach (var fetch in fetches) { fromQuery.LeftJoinOnId(fetch); } fromQuery.Where((x, y) => x.Key().Equals(y.Item0)); query = fromQuery; } } return(query); }
private void toolStripButton1_Click(object sender, EventArgs e) { IDatabaseDriver database = context.DatabaseDriver; string startswith = toolStripTextBox1.Text + "%"; string escaped = toolStripTextBox1.Text; escaped = "%" + escaped + "%"; HashSet <int> albumIdHashSet = new HashSet <int>(); int[] possibleArtists = database.Vgmdb_FindArtistIdsByName(escaped).ToArray(); if (possibleArtists.Length == 1) { albumIdHashSet.AddAll(database.Vgmdb_FindAlbumIdsByArtistId(possibleArtists[0])); } albumIdHashSet.AddAll(database.Vgmdb_FindAlbumsBySkuPart(startswith)); albumIdHashSet.AddAll(database.Vgmdb_FindAlbumsByAlbumTitle(escaped)); albumIdHashSet.AddAll(database.Vgmdb_FindAlbumsByArbituraryProducts(escaped)); albumIdHashSet.AddAll(database.Vgmdb_FindAlbumsByTrackMask(escaped)); int[] albumIds = albumIdHashSet.ToArray(); AlbumListEntry[] entries = Array.ConvertAll(albumIds, x => database.Vgmdb_FindAlbumForList(x)); dataGridView1.DataSource = entries; dataGridView1.ReadOnly = true; }
public static DbCommand CreateUpdateCommand( this DbConnection connection, IDatabaseDriver databaseDriver, string schemaName, string tableName, IDictionary <string, object> filterValues, IDictionary <string, object> columnValues) { if (filterValues == null) { throw new ArgumentNullException(nameof(filterValues)); } if (columnValues == null) { throw new ArgumentNullException(nameof(columnValues)); } return(connection.CreateTextCommand( databaseDriver.GetSqlStatementTemplate(SqlStatement.Update), new { schemaName = databaseDriver.ParseIdentifier(schemaName ?? databaseDriver.DefaultSchema), tableName = databaseDriver.ParseIdentifier(tableName), columnValues = SqlHelper.GetCommaEqualsStatement(databaseDriver, columnValues.Keys.ToArray()), filter = SqlHelper.GetAndEqualsStatement(databaseDriver, filterValues.Keys.ToArray()) }, filterValues.Union(columnValues).Select(c => c.ToDbParameter(databaseDriver)))); }
public static DbCommand CreateMergeIncrementCommand( this DbConnection connection, IDatabaseDriver databaseDriver, string schemaName, string tableName, string incrementColumnName, IDictionary <string, object> keyValues, IDictionary <string, object> columnValues) { var keyAndColumnValues = keyValues .Union(columnValues) .ToDictionary(c => c.Key, c => c.Value); return(connection.CreateTextCommand( databaseDriver.GetSqlStatementTemplate(SqlStatement.MergeIncrement), new { schemaName = databaseDriver.ParseIdentifier(schemaName ?? databaseDriver.DefaultSchema), tableName = databaseDriver.ParseIdentifier(tableName), columnNamesAndValues = SqlHelper.GetCommaValueAsColumnStatement(databaseDriver, keyAndColumnValues.Keys.ToArray()), on = SqlHelper.GetLiteralJoinConditionStatement(databaseDriver, keyValues.Keys.ToArray(), "source", "target"), incrementColumnName = databaseDriver.ParseIdentifier(incrementColumnName), increment = databaseDriver.ParseParameterName(incrementColumnName), columns = keyAndColumnValues.Keys.Select(databaseDriver.ParseIdentifier).ToCommaSeparate(), values = keyAndColumnValues.Keys.Select(databaseDriver.ParseParameterName).ToCommaSeparate(), keyColumns = keyValues.Keys.Select(databaseDriver.ParseIdentifier).ToCommaSeparate() }, keyAndColumnValues.Select(k => k.ToDbParameter(databaseDriver)))); }
public void Redistribute(IDatabaseDriver iom, GridPartType method, string PartOptions) { if (Size <= 1) { return; // nothing to do } throw new NotImplementedException(); }
public static Shop Create(IDatabaseDriver databaseDriver, ILogger logger) { Shop shopInstance = new Shop(); shopInstance._shopService = new ShopService(databaseDriver, logger); shopInstance._orderedArticle = null; return(shopInstance); }
IDatasource GetDefaultDatasource(IDatabaseDriver driver) { if (driver != null) { return(driver.CreateNewIDatasource("")); } return(null); }
public static string GetAndEqualsStatement(IDatabaseDriver databaseDriver, IDictionary <string, object> filterValues) { if (filterValues == null) { return(databaseDriver.GetSqlStatementTemplate(SqlStatement.OneEqualsOne)); } return(GetAndEqualsStatement(databaseDriver, filterValues.Keys.ToArray())); }
public SQLServerDatasource(IDatabaseDriver databaseDriver) : base(databaseDriver) { Application.Current.Dispatcher.Invoke(DispatcherPriority.Background, new Action(() => { _controlPanel = new SQLServerControlPanel(this); })); }
public static DbCommand CreateMergeCommand( this DbConnection connection, IDatabaseDriver databaseDriver, string schemaName, string tableName, IDictionary <string, object> keyValues, IDictionary <string, object> columnValues, IDictionary <string, object> identityKeyValues = null) { var keyAndColumnValues = keyValues .Union(columnValues) .ToDictionary(c => c.Key, c => c.Value); IEnumerable <DbParameter> parameters; string columnNamesAndValues; var columns = keyAndColumnValues.Keys.Select(databaseDriver.ParseIdentifier).ToCommaSeparate(); string allColumns; // Including identity columns var values = keyAndColumnValues.Keys.Select(databaseDriver.ParseParameterName).ToCommaSeparate(); string allValues; // Including identity columns values // If there's identity key values, should be used only for filtering, since it is not possible to insert. if (identityKeyValues != null && identityKeyValues.Count > 0) { keyValues = keyValues.Union(identityKeyValues).ToDictionary(c => c.Key, c => c.Value); var allKeyColumnValues = keyAndColumnValues.Union(identityKeyValues).ToDictionary(c => c.Key, c => c.Value); parameters = allKeyColumnValues.Select(k => k.ToDbParameter(databaseDriver)); columnNamesAndValues = SqlHelper.GetCommaValueAsColumnStatement(databaseDriver, allKeyColumnValues.Keys.ToArray()); allColumns = allKeyColumnValues.Keys.Select(databaseDriver.ParseIdentifier).ToCommaSeparate(); allValues = allKeyColumnValues.Keys.Select(databaseDriver.ParseParameterName).ToCommaSeparate(); } else { parameters = keyAndColumnValues.Select(k => k.ToDbParameter(databaseDriver)); columnNamesAndValues = SqlHelper.GetCommaValueAsColumnStatement(databaseDriver, keyAndColumnValues.Keys.ToArray()); allColumns = columns; allValues = values; } return(connection.CreateTextCommand( databaseDriver.GetSqlStatementTemplate(SqlStatement.Merge), new { schemaName = databaseDriver.ParseIdentifier(schemaName ?? databaseDriver.DefaultSchema), tableName = databaseDriver.ParseIdentifier(tableName), columnNamesAndValues = columnNamesAndValues, on = SqlHelper.GetLiteralJoinConditionStatement(databaseDriver, keyValues.Keys.ToArray(), "source", "target"), columnValues = columnValues.Any() ? SqlHelper.GetCommaEqualsStatement(databaseDriver, columnValues.Keys.ToArray()) : databaseDriver.GetSqlStatementTemplate(SqlStatement.DummyEqualsZero), columns = columns, allColumns = allColumns, values = values, allValues = allValues, keyColumns = keyValues.Keys.Select(databaseDriver.ParseIdentifier).ToCommaSeparate() }, parameters)); }
public static DbParameter ToDbParameter( this KeyValuePair <string, object> keyValuePair, IDatabaseDriver databaseDriver, IDictionary <string, SqlType> columnTypes) { return(columnTypes.TryGetValue(keyValuePair.Key, out var sqlType) ? keyValuePair.ToDbParameter(databaseDriver, sqlType) : keyValuePair.ToDbParameter(databaseDriver)); }
public static string GetValueAsColumnStatement(IDatabaseDriver databaseDriver, string column, string parameter) { return(databaseDriver.GetSqlStatementTemplate(SqlStatement.ValueAsColumn).Format( new { value = databaseDriver.ParseParameterName(parameter), column = databaseDriver.ParseIdentifier(column) })); }
public static string GetEqualsStatement(IDatabaseDriver databaseDriver, string column, string parameter) { return(databaseDriver.GetSqlStatementTemplate(SqlStatement.QueryEquals).Format( new { column = databaseDriver.ParseIdentifier(column), value = databaseDriver.ParseParameterName(parameter) })); }
public MediaPickerForm() { InitializeComponent(); dbDriver = AzusaContext.GetInstance().DatabaseDriver; DialogResult = DialogResult.Cancel; UpdateControls(); shelfSelector1.OnShelfSelectionChanged += ShelfSelector1_OnShelfSelectionChanged; shelfSelector1.SelectedIndex = 1; }
public SqlNumberMap( IDatabaseDriver databaseDriver, string connectionString, ITable table, IMapper <TKey> keyMapper, string numberColumnName) : base(databaseDriver, connectionString, table, keyMapper, new ValueMapper <long>(numberColumnName)) { _numberColumnName = numberColumnName; }
public static async Task <DbConnection> OpenConnection(this IDatabaseDriver databaseDriver, string connectionString) { var connection = databaseDriver.CreateConnection(); connection.ConnectionString = connectionString; await connection.OpenAsync(); return(connection); }
/// <inheritdoc /> public MyOrm( IDatabaseDriver driver, ISqlStatementBuilder sqlBuilder, IChangeTracker changeTracker) { _dbDriver = driver; _sqlBuilder = sqlBuilder; ChangeTracker = changeTracker; }
private FolkeConnection(IDatabaseDriver databaseDriver, IMapper mapper, string connectionString = null) { Cache = new Dictionary <string, IDictionary <object, object> >(); Driver = databaseDriver; connection = databaseDriver.CreateConnection(connectionString); Database = connection?.Database; Mapper = mapper; queryProvider = new ElmQueryProvider(this); }
public BaseIntegrationTestSchemaUpdater(IDatabaseDriver driver, string connectionString, bool drop) { var mapper = new Mapper(); connection = FolkeConnection.Create(driver, mapper, connectionString); transaction = connection.BeginTransaction(); connection.CreateTable <FirstClass>(drop); connection.CreateTable <SecondClass>(drop); }
public Datasource(IDatabaseDriver databaseDriver) { _databaseDriver = databaseDriver; }
public SQLServerDatasource(IDatabaseDriver databaseDriver) : base(databaseDriver) { Application.Current.Dispatcher.Invoke(DispatcherPriority.Background, new Action(() => { _controlPanel = new SQLServerControlPanel(this); })); }