internal DatasetMetadata GetMetadataHelper(string identityId, string datasetName)
        {
            string query = DatasetColumns.BuildQuery(
                DatasetColumns.IDENTITY_ID + " = @identity_id AND " +
                DatasetColumns.DATASET_NAME + " = @dataset_name "
                );

            DatasetMetadata metadata = null;

            var stmt = ExecuteQuery(query, identityId, datasetName);

            try
            {
                while (Sqlite3.sqlite3_step(stmt) == Sqlite3.SQLITE_ROW)
                {
                    metadata = SqliteStmtToDatasetMetadata(stmt);
                }
            }
            finally
            {
                if (stmt != null)
                {
                    Sqlite3.sqlite3_finalize(stmt);
                }
            }

            return(metadata);
        }
Ejemplo n.º 2
0
        public long GetLastSyncCount(string identityId, string datasetName)
        {
            long lastSyncCount = 0;

            lock (sqlite_lock)
            {
                SQLiteStatement stmt = null;
                try
                {
                    stmt = db.Prepare(
                        DatasetColumns.BuildQuery(
                            DatasetColumns.IDENTITY_ID + " = @whereIdentityId AND " +
                            DatasetColumns.DATASET_NAME + " = @whereDatasetName"
                            ));

                    stmt.BindText(1, identityId);
                    stmt.BindText(2, datasetName);



                    if (stmt.Read())
                    {
                        lastSyncCount = stmt.Fields[DatasetColumns.LAST_SYNC_COUNT].INTEGER;
                    }
                }
                finally
                {
                    stmt.FinalizeStm();
                }
                return(lastSyncCount);
            }
        }
Ejemplo n.º 3
0
        public List <DatasetMetadata> GetDatasetMetadata(string identityId)
        {
            lock (sqlite_lock)
            {
                List <DatasetMetadata> datasets = new List <DatasetMetadata>();
                SQLiteStatement        stmt     = null;
                try
                {
                    stmt = db.Prepare(DatasetColumns.BuildQuery(
                                          DatasetColumns.IDENTITY_ID + " = @whereIdentityId"
                                          ));

                    stmt.BindText(1, identityId);

                    while (stmt.Read())
                    {
                        datasets.Add(this.SqliteStmtToDatasetMetadata(stmt));
                    }
                }
                finally
                {
                    stmt.FinalizeStm();
                }
                return(datasets);
            }
        }
Ejemplo n.º 4
0
        private DatasetMetadata GetMetadataInternal(string identityId, string datasetName)
        {
            lock (SQLiteDatabase.SQLiteLock)
            {
                SQLiteStatement stmt = null;
                try
                {
                    stmt = db.Prepare(DatasetColumns.BuildQuery(
                                          DatasetColumns.IDENTITY_ID + " = '" + identityId + "' AND " +
                                          DatasetColumns.DATASET_NAME + " = '" + datasetName + "'"
                                          ));

                    DatasetMetadata metadata = null;

                    while (stmt.Read())
                    {
                        metadata = this.SqliteStmtToDatasetMetadata(stmt);
                    }

                    return(metadata);
                }
                finally
                {
                    stmt.FinalizeStm();
                }
            }
        }
Ejemplo n.º 5
0
        /// <summary>
        /// Gets a list of dataset's metadata information.
        /// </summary>
        /// <returns>a list of dataset metadata</returns>
        /// <param name="identityId">Identity identifier.</param>
        /// <exception cref="DataStorageException"></exception>
        public List <DatasetMetadata> GetDatasetMetadata(string identityId)
        {
            lock (sqlite_lock)
            {
                string query = DatasetColumns.BuildQuery(
                    DatasetColumns.IDENTITY_ID + " = @whereIdentityId "
                    );

                return(GetDatasetMetadataHelper(query, identityId));
            }
        }
Ejemplo n.º 6
0
        /// <summary>
        /// Retrieves the last sync count. This sync count is a counter that
        /// represents when the last sync happened. The counter should be updated on
        /// a successful sync.
        /// </summary>
        /// <returns>The last sync count.</returns>
        /// <param name="identityId">Identity identifier.</param>
        /// <param name="datasetName">Dataset name.</param>
        public long GetLastSyncCount(string identityId, string datasetName)
        {
            lock (sqlite_lock)
            {
                string query = DatasetColumns.BuildQuery(
                    DatasetColumns.IDENTITY_ID + " = @whereIdentityId AND " +
                    DatasetColumns.DATASET_NAME + " = @whereDatasetName "
                    );

                return(GetLastSyncCountHelper(query, identityId, datasetName));
            }
        }
Ejemplo n.º 7
0
        internal DatasetMetadata GetMetadataHelper(string identityId, string datasetName)
        {
            string query = DatasetColumns.BuildQuery(
                DatasetColumns.IDENTITY_ID + " = @identity_id AND " +
                DatasetColumns.DATASET_NAME + " = @dataset_name "
                );

            DatasetMetadata metadata = null;

            using (var sqliteStatement = connection.Prepare(query))
            {
                BindData(sqliteStatement, identityId, datasetName);
                while (sqliteStatement.Step() == SQLiteResult.ROW)
                {
                    metadata = SqliteStmtToDatasetMetadata(sqliteStatement);
                }
            }

            return(metadata);
        }
        internal DatasetMetadata GetMetadataHelper(string identityId, string datasetName)
        {
            string query = DatasetColumns.BuildQuery(
                DatasetColumns.IDENTITY_ID + " = @identityId AND " +
                DatasetColumns.DATASET_NAME + " = @datasetName "
                );

            DatasetMetadata metadata = null;

            using (var command = new SQLiteCommand(connection))
            {
                command.CommandText = query;
                BindData(command, identityId, datasetName);
                using (var reader = command.ExecuteReader())
                {
                    if (reader.HasRows && reader.Read())
                    {
                        metadata = SqliteStmtToDatasetMetadata(reader);
                    }
                }
            }
            return(metadata);
        }
Ejemplo n.º 9
0
        internal DatasetMetadata GetMetadataHelper(string identityId, string datasetName)
        {
            string query = DatasetColumns.BuildQuery(
                DatasetColumns.IDENTITY_ID + " = @identityId AND " +
                DatasetColumns.DATASET_NAME + " = @datasetName "
                );

            DatasetMetadata metadata = null;

            try
            {
                connection = new SqliteConnection("URI=file:" + filePath);
                connection.Open();
                using (var command = new SqliteCommand(connection))
                {
                    command.CommandText = query;
                    BindData(command, identityId, datasetName);
                    using (var reader = command.ExecuteReader())
                    {
                        if (reader.HasRows && reader.Read())
                        {
                            metadata = DatasetMetadataFromReader(reader);
                        }
                    }
                }
            }
            finally
            {
                if (connection != null)
                {
                    connection.Close();
                    connection.Dispose();
                }
            }
            return(metadata);
        }