public publishException(string message, IPublishProvider provider) : base(message) { Provider = provider; }
/// <summary>Überprüft ob ein Update mit einer Veröffentlichungsschnittstelle verknüpft ist.</summary> public bool isUpdateLinked(updatePackage update, IPublishProvider provider) { //Erstmal prüfen ob die LinkListe zum passenden Updatepaket nicht null ist. if (!_session.currentProject.linkedPublishProvider.ContainsKey(update.ID) || _session.currentProject.linkedPublishProvider[update.ID] == null) return false; //Und jetzt prüfen ob die ID des Providers schon in der LinkListe vorhanden ist. return _session.currentProject.linkedPublishProvider[update.ID].Contains(provider.Settings.Id); }
/// <summary>Entfernt die Verknüpfung zwischen einem Update und einer Veröffentlichungsschnittstelle.</summary> public void unlinkUpdate(updatePackage update, IPublishProvider provider) { //Ist nicht verlinkt, also gibts auch nichts zum löschen if (!isUpdateLinked(update, provider)) return; //Linkeintrag entfernen _session.currentProject.linkedPublishProvider[update.ID].Remove(provider.Settings.Id); }
/// <summary>Verknüoft ein Updatepaket mit einer Veröffentlichungsschnittstelle.</summary> public void linkUpdate(updatePackage update, IPublishProvider provider) { //Bereits verlinkte Provider braucht man nicht nochmal verlinken if (isUpdateLinked(update, provider)) return; if (!_session.currentProject.linkedPublishProvider.ContainsKey(update.ID)) _session.currentProject.linkedPublishProvider.Add(update.ID, new List<string>(new[] {provider.Settings.Id})); else _session.currentProject.linkedPublishProvider[update.ID].Add(provider.Settings.Id); }
/// <summary>Entfernt einen PublishProvider vollständig aus dem Updateprojekt.</summary> /// <param name="provider">Der Provider der entfernt werden soll.</param> internal void removePublishProvider(IPublishProvider provider) { //Einstellungen entfernen publishProviderSettings.Remove(provider.Settings); //Provider entfernen publishProvider.Remove(provider); }
/// <summary>Fügt dem Updateprojekt einen neuen PublshProvider hinzu.</summary> /// <param name="provider">Der Provider der hinzugefügt werden soll.</param> internal void addPublishProvider(IPublishProvider provider) { //Provider der Liste der vorhandenen PublishProvider hinzufügen publishProvider.Add(provider); //Einstellungen seperat speichern publishProviderSettings.Add(provider.Settings); }