diff options
| author | LukePulverenti <luke.pulverenti@gmail.com> | 2013-02-20 23:37:50 -0500 |
|---|---|---|
| committer | LukePulverenti <luke.pulverenti@gmail.com> | 2013-02-20 23:37:50 -0500 |
| commit | a5f9dc1bfc6c8d37f915d2ea33e495013bd83ba5 (patch) | |
| tree | 960cabedfbd07fe4eac3503e99f8bab745db58e2 /MediaBrowser.Controller/Persistence/SQLite/SQLiteUserRepository.cs | |
| parent | 509156cbc3497ff8daabefd3dba843f5b085701a (diff) | |
isolated sqlite dependancy
Diffstat (limited to 'MediaBrowser.Controller/Persistence/SQLite/SQLiteUserRepository.cs')
| -rw-r--r-- | MediaBrowser.Controller/Persistence/SQLite/SQLiteUserRepository.cs | 147 |
1 files changed, 0 insertions, 147 deletions
diff --git a/MediaBrowser.Controller/Persistence/SQLite/SQLiteUserRepository.cs b/MediaBrowser.Controller/Persistence/SQLite/SQLiteUserRepository.cs deleted file mode 100644 index 9fe5e5624..000000000 --- a/MediaBrowser.Controller/Persistence/SQLite/SQLiteUserRepository.cs +++ /dev/null @@ -1,147 +0,0 @@ -using System.Threading; -using MediaBrowser.Common.Serialization; -using MediaBrowser.Controller.Entities; -using System; -using System.Collections.Generic; -using System.ComponentModel.Composition; -using System.Data; -using System.IO; -using System.Threading.Tasks; - -namespace MediaBrowser.Controller.Persistence.SQLite -{ - /// <summary> - /// Class SQLiteUserRepository - /// </summary> - [Export(typeof(IUserRepository))] - public class SQLiteUserRepository : SqliteRepository, IUserRepository - { - /// <summary> - /// The repository name - /// </summary> - public const string RepositoryName = "SQLite"; - - /// <summary> - /// Gets the name of the repository - /// </summary> - /// <value>The name.</value> - public string Name - { - get - { - return RepositoryName; - } - } - - /// <summary> - /// Opens the connection to the database - /// </summary> - /// <returns>Task.</returns> - public async Task Initialize() - { - var dbFile = Path.Combine(Kernel.Instance.ApplicationPaths.DataPath, "users.db"); - - await ConnectToDB(dbFile).ConfigureAwait(false); - - string[] queries = { - - "create table if not exists users (guid GUID primary key, data BLOB)", - "create index if not exists idx_users on users(guid)", - "create table if not exists schema_version (table_name primary key, version)", - //pragmas - "pragma temp_store = memory" - }; - - RunQueries(queries); - } - - /// <summary> - /// Save a user in the repo - /// </summary> - /// <param name="user">The user.</param> - /// <param name="cancellationToken">The cancellation token.</param> - /// <returns>Task.</returns> - /// <exception cref="System.ArgumentNullException">user</exception> - public Task SaveUser(User user, CancellationToken cancellationToken) - { - if (user == null) - { - throw new ArgumentNullException("user"); - } - - if (cancellationToken == null) - { - throw new ArgumentNullException("cancellationToken"); - } - - return Task.Run(() => - { - cancellationToken.ThrowIfCancellationRequested(); - - var serialized = JsonSerializer.SerializeToBytes(user); - - cancellationToken.ThrowIfCancellationRequested(); - - var cmd = connection.CreateCommand(); - cmd.CommandText = "replace into users (guid, data) values (@1, @2)"; - cmd.AddParam("@1", user.Id); - cmd.AddParam("@2", serialized); - QueueCommand(cmd); - }); - } - - /// <summary> - /// Retrieve all users from the database - /// </summary> - /// <returns>IEnumerable{User}.</returns> - public IEnumerable<User> RetrieveAllUsers() - { - var cmd = connection.CreateCommand(); - cmd.CommandText = "select data from users"; - - using (var reader = cmd.ExecuteReader(CommandBehavior.SequentialAccess | CommandBehavior.SingleResult)) - { - while (reader.Read()) - { - using (var stream = GetStream(reader, 0)) - { - var user = JsonSerializer.DeserializeFromStream<User>(stream); - yield return user; - } - } - } - } - - /// <summary> - /// Deletes the user. - /// </summary> - /// <param name="user">The user.</param> - /// <param name="cancellationToken">The cancellation token.</param> - /// <returns>Task.</returns> - /// <exception cref="System.ArgumentNullException">user</exception> - public Task DeleteUser(User user, CancellationToken cancellationToken) - { - if (user == null) - { - throw new ArgumentNullException("user"); - } - - if (cancellationToken == null) - { - throw new ArgumentNullException("cancellationToken"); - } - - return Task.Run(() => - { - cancellationToken.ThrowIfCancellationRequested(); - - var cmd = connection.CreateCommand(); - cmd.CommandText = "delete from users where guid=@guid"; - var guidParam = cmd.Parameters.Add("@guid", DbType.Guid); - guidParam.Value = user.Id; - - return ExecuteCommand(cmd); - }); - } - } -} |
