aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Server.Implementations/Sqlite/SQLiteUserDataRepository.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Server.Implementations/Sqlite/SQLiteUserDataRepository.cs')
-rw-r--r--MediaBrowser.Server.Implementations/Sqlite/SQLiteUserDataRepository.cs70
1 files changed, 37 insertions, 33 deletions
diff --git a/MediaBrowser.Server.Implementations/Sqlite/SQLiteUserDataRepository.cs b/MediaBrowser.Server.Implementations/Sqlite/SQLiteUserDataRepository.cs
index 8b4dcd49d..4e3f17750 100644
--- a/MediaBrowser.Server.Implementations/Sqlite/SQLiteUserDataRepository.cs
+++ b/MediaBrowser.Server.Implementations/Sqlite/SQLiteUserDataRepository.cs
@@ -184,30 +184,32 @@ namespace MediaBrowser.Server.Implementations.Sqlite
cancellationToken.ThrowIfCancellationRequested();
- var cmd = connection.CreateCommand();
- cmd.CommandText = "replace into userdata (key, userId, data) values (@1, @2, @3)";
- cmd.AddParam("@1", key);
- cmd.AddParam("@2", userId);
- cmd.AddParam("@3", serialized);
-
- using (var tran = connection.BeginTransaction())
+ using (var cmd = connection.CreateCommand())
{
- try
+ cmd.CommandText = "replace into userdata (key, userId, data) values (@1, @2, @3)";
+ cmd.AddParam("@1", key);
+ cmd.AddParam("@2", userId);
+ cmd.AddParam("@3", serialized);
+
+ using (var tran = connection.BeginTransaction())
{
- cmd.Transaction = tran;
+ try
+ {
+ cmd.Transaction = tran;
- await cmd.ExecuteNonQueryAsync(cancellationToken);
+ await cmd.ExecuteNonQueryAsync(cancellationToken);
- tran.Commit();
- }
- catch (OperationCanceledException)
- {
- tran.Rollback();
- }
- catch (Exception e)
- {
- Logger.ErrorException("Failed to commit transaction.", e);
- tran.Rollback();
+ tran.Commit();
+ }
+ catch (OperationCanceledException)
+ {
+ tran.Rollback();
+ }
+ catch (Exception e)
+ {
+ Logger.ErrorException("Failed to commit transaction.", e);
+ tran.Rollback();
+ }
}
}
}
@@ -245,27 +247,29 @@ namespace MediaBrowser.Server.Implementations.Sqlite
/// <returns>Task{UserItemData}.</returns>
private async Task<UserItemData> RetrieveUserData(Guid userId, string key)
{
- var cmd = connection.CreateCommand();
- cmd.CommandText = "select data from userdata where key = @key and userId=@userId";
+ using (var cmd = connection.CreateCommand())
+ {
+ cmd.CommandText = "select data from userdata where key = @key and userId=@userId";
- var idParam = cmd.Parameters.Add("@key", DbType.String);
- idParam.Value = key;
+ var idParam = cmd.Parameters.Add("@key", DbType.String);
+ idParam.Value = key;
- var userIdParam = cmd.Parameters.Add("@userId", DbType.Guid);
- userIdParam.Value = userId;
+ var userIdParam = cmd.Parameters.Add("@userId", DbType.Guid);
+ userIdParam.Value = userId;
- using (var reader = await cmd.ExecuteReaderAsync(CommandBehavior.SequentialAccess | CommandBehavior.SingleResult | CommandBehavior.SingleRow).ConfigureAwait(false))
- {
- if (reader.Read())
+ using (var reader = await cmd.ExecuteReaderAsync(CommandBehavior.SequentialAccess | CommandBehavior.SingleResult | CommandBehavior.SingleRow).ConfigureAwait(false))
{
- using (var stream = GetStream(reader, 0))
+ if (reader.Read())
{
- return _jsonSerializer.DeserializeFromStream<UserItemData>(stream);
+ using (var stream = GetStream(reader, 0))
+ {
+ return _jsonSerializer.DeserializeFromStream<UserItemData>(stream);
+ }
}
}
- }
- return new UserItemData();
+ return new UserItemData();
+ }
}
}
}