Ejemplo n.º 1
0
        protected override void Configure()
        {
            base.Configure();

            _Contracts = new AppContracts();


            _SettingsPersistor = new JsonPersister <AppSettings>(Path.Combine(_Contracts.SettingsLocation, _Contracts.SettingsFilename));
            _Settings          = _SettingsPersistor.Instance;

            Container.Register <AppContracts>(_Contracts);
            Container.Register <AppSettings>(_Settings);
            Container.Register <Core.ILog>(new ProductionLogger());
            Container.Register <AutorunService>(new AutorunService(Container.Resolve <Core.ILog>(), _Settings, _Contracts));
            Container.Register <IWindowManager>(new AppWindowManager(_Settings));
            Container.Register <IBroadcastService>(new BroadcastService(_Settings, _Contracts, Container.Resolve <Core.ILog>()));

            Container.Register <SpotifyLocalApi>(new SpotifyLocalApi(Container.Resolve <Core.ILog>(), _Contracts, _Settings));
            Container.Register <ISpotifyController>(new SpotifyController(Container.Resolve <Core.ILog>(), Container.Resolve <SpotifyLocalApi>()));
            Container.Register <ICoverService>(new CoverService(_Contracts, Container.Resolve <Core.ILog>(), Container.Resolve <SpotifyLocalApi>()));

            Container.Register <IUpdateService>(new UpdateService(Container.Resolve <Core.ILog>()));
            Container.Register <IUsageTrackerService>(ApplicationDeployment.IsNetworkDeployed
                                                         ? new UsageTrackerService(_Settings, Container.Resolve <Core.ILog>(), _Contracts)
                                                         : new LocalUsageTrackerService(_Settings, Container.Resolve <Core.ILog>(), _Contracts));
        }
Ejemplo n.º 2
0
        private void ProcessSquirrelStartup()
        {
#if !DEBUG
            using (var mgr = new Squirrel.UpdateManager(string.Empty))
            {
                // Note, in most of these scenarios, the app exits after this method
                // completes!
                SquirrelAwareApp.HandleEvents(
                    onInitialInstall: v =>
                {
                    mgr.CreateShortcutForThisExe();
                    UriProtocolManager.RegisterUrlProtocol();
                    Environment.Exit(0);
                },
                    onAppUpdate: v =>
                {
                    mgr.CreateShortcutForThisExe();
                    Environment.Exit(0);
                },
                    onAppUninstall: v =>
                {
                    mgr.RemoveShortcutForThisExe();
                    UriProtocolManager.UnregisterUrlProtocol();
                    AppContracts contracts = new AppContracts();
                    var settingsPersistor  =
                        new JsonPersister <AppSettings>(Path.Combine(contracts.SettingsLocation,
                                                                     contracts.SettingsFilename));
                    string dir = Path.Combine(string.IsNullOrEmpty(settingsPersistor.Instance.CacheFolder)
                          ? contracts.SettingsLocation
                          : settingsPersistor.Instance.CacheFolder, CoverService.CacheDirName);
                    var log = new ProductionLogger();
                    log.Fatal("Uninstalling Minipie. Removing CoverCache from ->" + dir);
                    try
                    {
                        if (Directory.Exists(dir))
                        {
                            Directory.Delete(dir, true);
                        }
                    }
                    catch (Exception e)
                    {
                        log.FatalException(e.Message, e);
                    }
                    Environment.Exit(0);
                },
                    onFirstRun: () =>
                {
                });
            }
#endif
        }
Ejemplo n.º 3
0
        public SettingsViewModelTest()
        {
            _coverService         = Substitute.For <ICoverService>();
            _logger               = Substitute.For <ILog>();
            _appSettings          = Substitute.For <AppSettings>();
            _hotkeyViewModel      = Substitute.For <HotKeyViewModel>(null, _appSettings);
            _spotifyController    = Substitute.For <ISpotifyController>();
            _autorunService       = Substitute.For <AutorunService>(null, null, null);
            _appSettingsPersistor = Substitute.For <JsonPersister <AppSettings> >();
            _appSettingsPersistor.Instance.Returns(_appSettings);

            _settingsViewModel = new SettingsViewModel(new AppContracts(),
                                                       _coverService, _logger, _hotkeyViewModel, _spotifyController, _autorunService, _appSettingsPersistor);
        }
Ejemplo n.º 4
0
        public SettingsViewModel(AppContracts contracts,
                                 ICoverService coverService, ILog logger, HotKeyViewModel hotKeyViewModel,
                                 ISpotifyController spotifyController, AutorunService autorunService, JsonPersister <AppSettings> persister)
        {
            _settings          = persister.Instance;
            _contracts         = contracts;
            _coverService      = coverService;
            _logger            = logger;
            _spotifyController = spotifyController;
            _autorunService    = autorunService;
            _persister         = persister;

            HotKeyViewModel = hotKeyViewModel;
            DisplayName     = $"Settings - {_contracts.ApplicationName}";
            CacheSize       = Helper.MakeNiceSize(_coverService.CacheSize());
        }
Ejemplo n.º 5
0
        public UninstallForm(AppContracts contracts)
        {
            InitializeComponent();

            InfoLabel.Text        = Properties.Resources.RemoveMessage;
            PreserveCache.Text    = Properties.Resources.KeepCache;
            PreserveSettings.Text = Properties.Resources.KeepSettings;

            Continue.Text = Properties.Resources.Continue;
            Cancel.Text   = Properties.Resources.Cancel;

            _settingsLocation = contracts.SettingsLocation;
            var _settingsPersistor = new JsonPersister <AppSettings>(_settingsLocation);

            settings = _settingsPersistor.Instance;
        }
Ejemplo n.º 6
0
        public static void Main(string[] args)
        {
            Console.WriteLine("Start HttpListener!");

            var Persister = new JsonPersister(getJsonFileWriter);

            if (System.IO.File.Exists(JsonFile))
            {
                using (var reader = new StreamReader(JsonFile)) Persister.ReadEntries(reader);
            }

            EntryRepository repo = new EntryRepository(Persister, Persister.AllEntries());

            LogService ls = new LogService(repo);

            ls.StartService("http://*:8080/");

            Console.WriteLine("Service started, press key to terminate!");
            Console.ReadKey(true);
        }
Ejemplo n.º 7
0
 public void Teardown()
 {
     jsonOutput = null;
     persister  = null;
 }
Ejemplo n.º 8
0
 public void Startup()
 {
     jsonOutput = new StringBuilder("");
     persister  = new JsonPersister(() => { jsonOutput.Clear(); return(new System.IO.StringWriter(jsonOutput)); }, 20);
 }