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)); }
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 }
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); }
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()); }
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; }
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); }
public void Teardown() { jsonOutput = null; persister = null; }
public void Startup() { jsonOutput = new StringBuilder(""); persister = new JsonPersister(() => { jsonOutput.Clear(); return(new System.IO.StringWriter(jsonOutput)); }, 20); }