/// <summary> /// Initialisiert die Updateform. Diese Methode wird automatisch vom <see cref="updateController"/> aufgerufen und muss daher nicht manuell aufgerufen werden. /// </summary> /// <param name="instance">Die Instanz des updateControllers</param> /// <param name="result">Das Suchresultat des UpdateControllers.</param> internal void initializeForm(updateController instance, UpdateResult result) { _updateDownloader = new updateDownloader(instance, result); _updateDownloader.downloadUpdatesCompleted += _updateDownloader_downloadUpdatesCompleted; _updateDownloader.downloadUpdatesProgressChanged += _updateDownloader_downloadUpdatesProgressChanged; Result = result; }
/// <summary> /// Sucht nach Aktualisierungen während dem Benutzer ein modaler Dialog angezeigt wird. /// </summary> /// <param name="owner">Ein beliebiges Objekt, das <see cref="IWin32Window"/> implementiert, das das Fenster der obersten Ebene und damit den Besitzer des modalen Dialogfelds darstellt.</param> /// <returns><see cref="DialogResult.OK"/> wenn Aktualisierungen gefunden wurden, anderfalls <see cref="DialogResult.Cancel"/>.</returns> public DialogResult checkForUpdatesDialog(IWin32Window owner) { prepareUpdateCheck(); /*using (var dialog = new updateViewDialog(this)) { dialog.ShowInTaskbar = showDialogsInTaskbar; dialog.availableViewStates = updateViewStates.Search; dialog.loadView<viewUpdateCheck>(); return dialog.ShowDialog(owner); }*/ // Old 1.5 Stuff - Obsolete using (var searchDlg = new updateSearchDialog(this)) { searchDlg.ShowInTaskbar = showDialogsInTaskbar; //Dialog anzeigen DialogResult cachedResult = searchDlg.ShowDialog(owner); currentUpdateResult = new UpdateResult( searchDlg.Result, searchDlg.Config, searchDlg.Changelogs); if (currentUpdateResult.UpdatesAvailable && alwaysRaiseUpdateFoundEvent) { if (updateFound != null) updateFound(this, new updateFoundEventArgs(currentUpdateResult)); } return cachedResult; } }
/// <summary> /// <para>Sucht nach verfügbaren Aktualisierungen.</para> /// <para>Informationen über die Updates können über die Eigenschaft <see cref="currentUpdateResult"/> abgerufen werden.</para> /// </summary> /// <returns>Gibt true zurück wenn ein Update gefunden wurde, andernfalls false.</returns> public bool checkForUpdates() { var schedueller = new ScheduledStart( _updateSettings.ProjektID, _updateSettings.Updateinterval, _updateSettings.CustomUpdateInterval); if (!schedueller.CanCheck()) { return false; } //Updatesuche vorbereiten prepareUpdateCheck(); //Suchprovider initialisieren var sProvider = new searchProvider(this); //Updatesuche durchführen sProvider.executeSearch(); schedueller.WriteCurrentDate(); //Ergebnis auswerten if (sProvider.foundUpdates.Count > 0) { currentUpdateResult = new UpdateResult( sProvider.foundUpdates, sProvider.currentConfiguration, sProvider.correspondingChangelogs); return true; } currentUpdateResult = new UpdateResult(new List<updatePackage>(), sProvider.currentConfiguration, new changelogDictionary()); return false; }