/// <summary> /// Initializes a new instance of the <see cref="GoogleRepository"/> class. /// </summary> /// <param name="logger">The logger.</param> /// <exception cref="System.ArgumentNullException">logger is null</exception> public GoogleRepository(CrossCutting.ILoggerService logger) { if (logger == null) { throw new ArgumentNullException("logger"); } this.logger = logger; }
/// <summary> /// Initializes a new instance of the <see cref="DataSettings"/> class. /// </summary> /// <param name="logger">The logger.</param> /// <exception cref="System.ArgumentNullException">logger is null</exception> public DataSettings(CrossCutting.ILoggerService logger) { if (logger == null) { throw new ArgumentNullException("logger"); } this.logger = logger; this.settingFilePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "CollectionneurRecettes.Addon\\Settings.xml"); }
/// <summary> /// Initializes a new instance of the <see cref="CollectorReceiptRepository"/> class. /// </summary> /// <param name="database">The h2 database.</param> /// <param name="logger">The logger.</param> /// <exception cref="System.ArgumentNullException"> /// h2Database /// or /// logger /// </exception> public CollectorReceiptRepository(Interfaces.IH2Database database, CrossCutting.ILoggerService logger) { if (database == null) { throw new ArgumentNullException("h2Database"); } if (logger == null) { throw new ArgumentNullException("logger"); } this.database = database; this.logger = logger; }
/// <summary> /// Initializes a new instance of the <see cref="GoogleManager"/> class. /// </summary> /// <param name="logger">The logger.</param> /// <param name="googleRepository">The google repository.</param> /// <param name="settingsManager">The settings manager.</param> /// <exception cref="System.ArgumentNullException"> /// googleRepository /// or /// settingsManager /// or /// logger /// </exception> public GoogleManager(CrossCutting.ILoggerService logger, Interfaces.IGoogleRepository googleRepository, ISettingsManager settingsManager) { if (googleRepository == null) { throw new ArgumentNullException("googleRepository"); } if (settingsManager == null) { throw new ArgumentNullException("settingsManager"); } if (logger == null) { throw new ArgumentNullException("logger"); } this.googleRepository = googleRepository; this.settingsManager = settingsManager; this.logger = logger; }
public MainWindowViewModel( CrossCutting.ILoggerService logger, Interfaces.ICollectorReceiptManager collectorReceiptManager, Interfaces.ISettingsManager settingsManager, Interfaces.IGoogleManager googleManager, Services.IDispatcherService dispatcherService, IEventAggregator eventAggregator) { if (settingsManager == null) { throw new ArgumentNullException("settingsManager"); } if (dispatcherService == null) { throw new ArgumentNullException("dispatcherService"); } if (collectorReceiptManager == null) { throw new ArgumentNullException("collectorReceiptManager"); } if (eventAggregator == null) { throw new ArgumentNullException("eventAggregator"); } if (googleManager == null) { throw new ArgumentNullException("googleManager"); } if (logger == null) { throw new ArgumentNullException("logger"); } this.exitCommand = new DelegateCommand(new Action(() => { System.Windows.Application.Current.Shutdown(); })); this.showParametersCommand = new DelegateCommand(new Action(() => { var regionManager = ServiceLocator.Current.GetInstance<Prism.Regions.IRegionManager>(); regionManager.RequestNavigate("AppBarRegion", new Uri("AppBarParametersView", UriKind.Relative)); regionManager.RequestNavigate("MainRegion", new Uri("ParametersView", UriKind.Relative)); this.eventAggregator.GetEvent<Events.ActivateWindowEvent>().Publish(null); })); this.SyncMenuCommand = new DelegateCommand(() => { var regionManager = ServiceLocator.Current.GetInstance<Prism.Regions.IRegionManager>(); //regionManager.RequestNavigate("AppBarRegion", new Uri("AppBarParametersView", UriKind.Relative)); regionManager.RequestNavigate("MainRegion", new Uri("SyncMenuView", UriKind.Relative)); this.eventAggregator.GetEvent<Events.ActivateWindowEvent>().Publish(null); this.eventAggregator.GetEvent<Events.StartSyncEvent>().Publish(null); }); this.ShowAboutCommand = new DelegateCommand(() => { var regionManager = ServiceLocator.Current.GetInstance<Prism.Regions.IRegionManager>(); regionManager.RequestNavigate("MainRegion", new Uri("AboutView", UriKind.Relative)); this.eventAggregator.GetEvent<Events.ActivateWindowEvent>().Publish(null); }); this.logger = logger; this.eventAggregator = eventAggregator; this.collectorReceiptManager = collectorReceiptManager; this.googleManager = googleManager; this.settingsManager = settingsManager; this.dispatcherService = dispatcherService; this.LoadCommand = new DelegateCommand(() => { if (string.IsNullOrEmpty(this.settingsManager.LoadSettings().CollectionneurDabasePath)) { this.logger.LogInformation("Application settings not set, show parameters window"); this.dispatcherService.Invoke(() => { this.ShowParametersCommand.Execute(); }); } this.checkAppRunningTimer = new Timer((state) => { if (this.collectorReceiptManager.CanSync() == Entity.CanNotSyncReason.None) { if (this.collectorReceiptManager.IsCollectorReceiptAppRunning()) { if (!this.isAppCollectorAlreadyRunning) { // the app is not running before, so show notification this.eventAggregator.GetEvent<Events.DisplayNotificationMessageEvent>().Publish("Application collectionneur de recettes détectées, en attente de fermeture pour synchronisation"); this.isAppCollectorAlreadyRunning = true; } } else { if (this.isAppCollectorAlreadyRunning) { // the app was running, so launch sync // TODO: launch sync var regionManager = ServiceLocator.Current.GetInstance<Prism.Regions.IRegionManager>(); regionManager.RequestNavigate("MainRegion", new Uri("SyncMenuView", UriKind.Relative)); this.eventAggregator.GetEvent<Events.StartSyncEvent>().Publish(null); this.eventAggregator.GetEvent<Events.DisplayNotificationMessageEvent>().Publish("Application collectionneur de recettes fermée, début de la synchronisation"); this.isAppCollectorAlreadyRunning = false; } } } this.checkAppRunningTimer.Change(2000, Timeout.Infinite); }, null, 1000, Timeout.Infinite); this.dispatcherService.Invoke(() => { if (!this.googleManager.SecretFileExists()) { this.logger.LogWarning("Google json secret file doesn't exists, application will close"); this.eventAggregator.GetEvent<Events.DisplayErrorMessageEvent>().Publish(new Events.DisplayErrorMessageEventArgs() { Message = "Veuillez créer votre fichier client_secrets.json, placez le dans " + Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\CollectionneurRecettes.Addon\n et redémarrez l'application", CloseApplication = true }); } }); }); }
public MainWindowViewModel( CrossCutting.ILoggerService logger, Interfaces.ICollectorReceiptManager collectorReceiptManager, Interfaces.ISettingsManager settingsManager, Interfaces.IGoogleManager googleManager, Services.IDispatcherService dispatcherService, IEventAggregator eventAggregator) { if (settingsManager == null) { throw new ArgumentNullException("settingsManager"); } if (dispatcherService == null) { throw new ArgumentNullException("dispatcherService"); } if (collectorReceiptManager == null) { throw new ArgumentNullException("collectorReceiptManager"); } if (eventAggregator == null) { throw new ArgumentNullException("eventAggregator"); } if (googleManager == null) { throw new ArgumentNullException("googleManager"); } if (logger == null) { throw new ArgumentNullException("logger"); } this.exitCommand = new DelegateCommand(new Action(() => { System.Windows.Application.Current.Shutdown(); })); this.showParametersCommand = new DelegateCommand(new Action(() => { var regionManager = ServiceLocator.Current.GetInstance <Prism.Regions.IRegionManager>(); regionManager.RequestNavigate("AppBarRegion", new Uri("AppBarParametersView", UriKind.Relative)); regionManager.RequestNavigate("MainRegion", new Uri("ParametersView", UriKind.Relative)); this.eventAggregator.GetEvent <Events.ActivateWindowEvent>().Publish(null); })); this.SyncMenuCommand = new DelegateCommand(() => { var regionManager = ServiceLocator.Current.GetInstance <Prism.Regions.IRegionManager>(); //regionManager.RequestNavigate("AppBarRegion", new Uri("AppBarParametersView", UriKind.Relative)); regionManager.RequestNavigate("MainRegion", new Uri("SyncMenuView", UriKind.Relative)); this.eventAggregator.GetEvent <Events.ActivateWindowEvent>().Publish(null); this.eventAggregator.GetEvent <Events.StartSyncEvent>().Publish(null); }); this.ShowAboutCommand = new DelegateCommand(() => { var regionManager = ServiceLocator.Current.GetInstance <Prism.Regions.IRegionManager>(); regionManager.RequestNavigate("MainRegion", new Uri("AboutView", UriKind.Relative)); this.eventAggregator.GetEvent <Events.ActivateWindowEvent>().Publish(null); }); this.logger = logger; this.eventAggregator = eventAggregator; this.collectorReceiptManager = collectorReceiptManager; this.googleManager = googleManager; this.settingsManager = settingsManager; this.dispatcherService = dispatcherService; this.LoadCommand = new DelegateCommand(() => { if (string.IsNullOrEmpty(this.settingsManager.LoadSettings().CollectionneurDabasePath)) { this.logger.LogInformation("Application settings not set, show parameters window"); this.dispatcherService.Invoke(() => { this.ShowParametersCommand.Execute(); }); } this.checkAppRunningTimer = new Timer((state) => { if (this.collectorReceiptManager.CanSync() == Entity.CanNotSyncReason.None) { if (this.collectorReceiptManager.IsCollectorReceiptAppRunning()) { if (!this.isAppCollectorAlreadyRunning) { // the app is not running before, so show notification this.eventAggregator.GetEvent <Events.DisplayNotificationMessageEvent>().Publish("Application collectionneur de recettes détectées, en attente de fermeture pour synchronisation"); this.isAppCollectorAlreadyRunning = true; } } else { if (this.isAppCollectorAlreadyRunning) { // the app was running, so launch sync // TODO: launch sync var regionManager = ServiceLocator.Current.GetInstance <Prism.Regions.IRegionManager>(); regionManager.RequestNavigate("MainRegion", new Uri("SyncMenuView", UriKind.Relative)); this.eventAggregator.GetEvent <Events.StartSyncEvent>().Publish(null); this.eventAggregator.GetEvent <Events.DisplayNotificationMessageEvent>().Publish("Application collectionneur de recettes fermée, début de la synchronisation"); this.isAppCollectorAlreadyRunning = false; } } } this.checkAppRunningTimer.Change(2000, Timeout.Infinite); }, null, 1000, Timeout.Infinite); this.dispatcherService.Invoke(() => { if (!this.googleManager.SecretFileExists()) { this.logger.LogWarning("Google json secret file doesn't exists, application will close"); this.eventAggregator.GetEvent <Events.DisplayErrorMessageEvent>().Publish(new Events.DisplayErrorMessageEventArgs() { Message = "Veuillez créer votre fichier client_secrets.json, placez le dans " + Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\CollectionneurRecettes.Addon\n et redémarrez l'application", CloseApplication = true }); } }); }); }