Exemple #1
0
 protected StorageBase(IDatabaseDriver databaseDriver, string connectionString, ITable table, IMapper <TEntity> mapper)
 {
     ConnectionString = connectionString;
     Table            = table;
     Mapper           = mapper;
     DatabaseDriver   = databaseDriver;
 }
Exemple #2
0
 public static IEnumerable <DbParameter> ToDbParameters(
     this IDictionary <string, object> parameters,
     IDatabaseDriver databaseDriver,
     ITable table)
 {
     return(parameters.Select(p => p.ToDbParameter(databaseDriver, table.Columns)));
 }
Exemple #3
0
        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);
            }
        }
Exemple #8
0
        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;
		}
Exemple #10
0
        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);
        }
Exemple #11
0
        public Database(IDatabaseDriver databaseDriver, DatabaseCredentials databaseCredentials)
        {
            DatabaseDriver      = databaseDriver;
            DatabaseCredentials = databaseCredentials;

            AddSerializers();
        }
Exemple #12
0
        /// <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);
        }
Exemple #14
0
        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))));
        }
Exemple #17
0
 public void Redistribute(IDatabaseDriver iom, GridPartType method, string PartOptions)
 {
     if (Size <= 1)
     {
         return; // nothing to do
     }
     throw new NotImplementedException();
 }
Exemple #18
0
        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);
 }
Exemple #20
0
 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));
        }
Exemple #23
0
 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));
 }
Exemple #24
0
 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)
     }));
 }
Exemple #25
0
 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)
     }));
 }
Exemple #26
0
 public MediaPickerForm()
 {
     InitializeComponent();
     dbDriver     = AzusaContext.GetInstance().DatabaseDriver;
     DialogResult = DialogResult.Cancel;
     UpdateControls();
     shelfSelector1.OnShelfSelectionChanged += ShelfSelector1_OnShelfSelectionChanged;
     shelfSelector1.SelectedIndex            = 1;
 }
Exemple #27
0
 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);
        }
Exemple #29
0
 /// <inheritdoc />
 public MyOrm(
     IDatabaseDriver driver,
     ISqlStatementBuilder sqlBuilder,
     IChangeTracker changeTracker)
 {
     _dbDriver     = driver;
     _sqlBuilder   = sqlBuilder;
     ChangeTracker = changeTracker;
 }
Exemple #30
0
 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);
 }
Exemple #31
0
        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);
        }
Exemple #32
0
 public Datasource(IDatabaseDriver databaseDriver)
 {
     _databaseDriver = databaseDriver;
 }
 public SQLServerDatasource(IDatabaseDriver databaseDriver)
     : base(databaseDriver)
 {            
     Application.Current.Dispatcher.Invoke(DispatcherPriority.Background, new Action(() =>
     {
         _controlPanel = new SQLServerControlPanel(this);
     }));
 }