fixed db disposals

This commit is contained in:
Luke Pulverenti
2013-04-19 16:27:02 -04:00
parent 6c1bfe661b
commit eb612bd303
8 changed files with 69 additions and 61 deletions

View File

@@ -159,6 +159,9 @@ namespace MediaBrowser.ServerApplication
/// </summary>
/// <value>The user data repository.</value>
private IUserDataRepository UserDataRepository { get; set; }
private IUserRepository UserRepository { get; set; }
private IDisplayPreferencesRepository DisplayPreferencesRepository { get; set; }
private IItemRepository ItemRepository { get; set; }
/// <summary>
/// The full path to our startmenu shortcut
@@ -239,6 +242,15 @@ namespace MediaBrowser.ServerApplication
UserDataRepository = new SQLiteUserDataRepository(ApplicationPaths, JsonSerializer, LogManager);
RegisterSingleInstance(UserDataRepository);
UserRepository = new SQLiteUserRepository(ApplicationPaths, JsonSerializer, LogManager);
RegisterSingleInstance(UserRepository);
DisplayPreferencesRepository = new SQLiteDisplayPreferencesRepository(ApplicationPaths, JsonSerializer, LogManager);
RegisterSingleInstance(DisplayPreferencesRepository);
ItemRepository = new SQLiteItemRepository(ApplicationPaths, JsonSerializer, LogManager);
RegisterSingleInstance(ItemRepository);
UserManager = new UserManager(Logger, ServerConfigurationManager, UserDataRepository);
RegisterSingleInstance(UserManager);
@@ -299,11 +311,9 @@ namespace MediaBrowser.ServerApplication
/// <returns>Task.</returns>
private async Task ConfigureDisplayPreferencesRepositories()
{
var repository = new SQLiteDisplayPreferencesRepository(ApplicationPaths, JsonSerializer, LogManager);
await DisplayPreferencesRepository.Initialize().ConfigureAwait(false);
await repository.Initialize().ConfigureAwait(false);
((DisplayPreferencesManager)DisplayPreferencesManager).Repository = repository;
((DisplayPreferencesManager)DisplayPreferencesManager).Repository = DisplayPreferencesRepository;
}
/// <summary>
@@ -312,11 +322,9 @@ namespace MediaBrowser.ServerApplication
/// <returns>Task.</returns>
private async Task ConfigureItemRepositories()
{
var repository = new SQLiteItemRepository(ApplicationPaths, JsonSerializer, LogManager);
await ItemRepository.Initialize().ConfigureAwait(false);
await repository.Initialize().ConfigureAwait(false);
((LibraryManager)LibraryManager).ItemRepository = repository;
((LibraryManager)LibraryManager).ItemRepository = ItemRepository;
}
/// <summary>
@@ -328,13 +336,15 @@ namespace MediaBrowser.ServerApplication
return UserDataRepository.Initialize();
}
/// <summary>
/// Configures the user repositories.
/// </summary>
/// <returns>Task.</returns>
private async Task ConfigureUserRepositories()
{
var repository = new SQLiteUserRepository(ApplicationPaths, JsonSerializer, LogManager);
await UserRepository.Initialize().ConfigureAwait(false);
await repository.Initialize().ConfigureAwait(false);
((UserManager)UserManager).UserRepository = repository;
((UserManager)UserManager).UserRepository = UserRepository;
}
/// <summary>
@@ -553,21 +563,5 @@ namespace MediaBrowser.ServerApplication
process.WaitForExit();
}
}
/// <summary>
/// Gets the repository.
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="repositories">The repositories.</param>
/// <param name="name">The name.</param>
/// <returns>``0.</returns>
private T GetRepository<T>(IEnumerable<T> repositories, string name)
where T : class, IRepository
{
var enumerable = repositories as T[] ?? repositories.ToArray();
return enumerable.FirstOrDefault(r => string.Equals(r.Name, name, StringComparison.OrdinalIgnoreCase)) ??
enumerable.FirstOrDefault();
}
}
}

View File

@@ -1,5 +1,4 @@
using System.Windows;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Plugins;
using MediaBrowser.Model.Logging;
@@ -7,6 +6,7 @@ using MediaBrowser.ServerApplication.Controls;
using System.Collections.Generic;
using System.Linq;
using System.Threading;
using System.Windows;
using System.Windows.Controls.Primitives;
namespace MediaBrowser.ServerApplication.EntryPoints

View File

@@ -1,6 +1,4 @@
using System.Linq;
using System.Threading;
using MediaBrowser.Common.Events;
using MediaBrowser.Common.Events;
using MediaBrowser.Common.Net;
using MediaBrowser.Common.Plugins;
using MediaBrowser.Common.ScheduledTasks;
@@ -15,6 +13,8 @@ using MediaBrowser.Model.Logging;
using MediaBrowser.Model.Tasks;
using MediaBrowser.Model.Updates;
using System;
using System.Linq;
using System.Threading;
namespace MediaBrowser.ServerApplication.EntryPoints
{