StartupWizard.cs 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. using MediaBrowser.Common.Kernel;
  2. using MediaBrowser.Controller.Library;
  3. using MediaBrowser.Controller.Plugins;
  4. using System.Linq;
  5. namespace MediaBrowser.ServerApplication
  6. {
  7. /// <summary>
  8. /// Class StartupWizard
  9. /// </summary>
  10. public class StartupWizard : IServerEntryPoint
  11. {
  12. /// <summary>
  13. /// The _app host
  14. /// </summary>
  15. private readonly IApplicationHost _appHost;
  16. /// <summary>
  17. /// The _user manager
  18. /// </summary>
  19. private readonly IUserManager _userManager;
  20. /// <summary>
  21. /// Initializes a new instance of the <see cref="StartupWizard" /> class.
  22. /// </summary>
  23. /// <param name="appHost">The app host.</param>
  24. /// <param name="userManager">The user manager.</param>
  25. public StartupWizard(IApplicationHost appHost, IUserManager userManager)
  26. {
  27. _appHost = appHost;
  28. _userManager = userManager;
  29. }
  30. /// <summary>
  31. /// Runs this instance.
  32. /// </summary>
  33. public void Run()
  34. {
  35. if (_appHost.IsFirstRun)
  36. {
  37. LaunchStartupWizard();
  38. }
  39. }
  40. /// <summary>
  41. /// Launches the startup wizard.
  42. /// </summary>
  43. private void LaunchStartupWizard()
  44. {
  45. var user = _userManager.Users.FirstOrDefault(u => u.Configuration.IsAdministrator);
  46. App.OpenDashboardPage("wizardStart.html", user);
  47. }
  48. /// <summary>
  49. /// Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
  50. /// </summary>
  51. public void Dispose()
  52. {
  53. }
  54. }
  55. }