public VersionCheckerViewModel(VersionChecker versionChecker, FileDownloader fileDownloader, IUserInterface userInterface, IVersionCheckerConfig config, IVersionCheckerUserInterface versionCheckerUserInterface) { if (versionChecker == null) throw new ArgumentNullException("versionChecker"); if (fileDownloader == null) throw new ArgumentNullException("fileDownloader"); if (userInterface == null) throw new ArgumentNullException("userInterface"); if (config == null) throw new ArgumentNullException("config"); if (versionCheckerUserInterface == null) throw new ArgumentNullException("versionCheckerUserInterface"); this.versionChecker = versionChecker; this.fileDownloader = fileDownloader; this.userInterface = userInterface; this.config = config; this.versionCheckerUserInterface = versionCheckerUserInterface; CheckAgainCommand = new RelayCommand(p => true, CheckAgainClicked); DownloadCommand = new RelayCommand(p => true, DownloadClicked); OpenDownloadedFileCommand = new RelayCommand(p => true, OpenDownloadedFileClicked); CheckAtStartupCommand = new RelayCommand(p => true, CheckAtStartupChanged); CloseCommand = new RelayCommand(p => true, CloseClicked); ChangeStateToEmpty(); versionChecker.CheckStarting += HandleVersionCheckStarting; versionChecker.CheckCompleted += HandleCheckCompleted; this.fileDownloader.DownloadFileStarting += HandleDownloadFileStarting; this.fileDownloader.DownloadProgressChanged += HandleDownloadProgressChanged; this.fileDownloader.DownloadFileCompleted += HandleDownloadFileCompleted; config.CheckAtStartUpChanged += HandleOptionsCheckAtStartupChanged; CheckAtStartupEnabled = true; CheckAtStartupValue = config.CheckAtStartUp; }
public CoolViewModel(UserInterface userInterface) { if (userInterface == null) throw new ArgumentNullException("userInterface"); this.userInterface = userInterface; Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); versioningModule = new AzzulVersioningModule(config); versioningModule.UserInterface.AppWebPage = "http://azzul.alez.ro"; Initialize(() => { AzzulVersion = versioningModule.Checker.CurrentVersion.ToString(); CheckAtStartUp = versioningModule.CheckAtStartUp; NewVersionText = "No new version"; }); versioningModule.CheckAtStartUpChanged += HandleVersioningOptionsCheckAtStartUpChanged; versioningModule.Checker.CheckStarting += HandleVersionCheckerCheckStarting; versioningModule.Checker.CheckCompleted += HandleVersionCheckerCheckCompleted; CheckAzzulCommand = new RelayCommand(p => true, CheckAzzul); versioningModule.Start(); }