diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2013-04-19 16:27:02 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2013-04-19 16:27:02 -0400 |
| commit | eb612bd303b1ff7adf44f38496448b6064c465fe (patch) | |
| tree | 6e95bf2d63aa0ebb296c09c37ccb03bd1b9212aa /MediaBrowser.ServerApplication/ApplicationHost.cs | |
| parent | 6c1bfe661bf2d0c2e988793bd760148d57014bb4 (diff) | |
fixed db disposals
Diffstat (limited to 'MediaBrowser.ServerApplication/ApplicationHost.cs')
| -rw-r--r-- | MediaBrowser.ServerApplication/ApplicationHost.cs | 50 |
1 files changed, 22 insertions, 28 deletions
diff --git a/MediaBrowser.ServerApplication/ApplicationHost.cs b/MediaBrowser.ServerApplication/ApplicationHost.cs index 94a06020e..18916e99e 100644 --- a/MediaBrowser.ServerApplication/ApplicationHost.cs +++ b/MediaBrowser.ServerApplication/ApplicationHost.cs @@ -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 repository.Initialize().ConfigureAwait(false); + await DisplayPreferencesRepository.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(); - } } } |
