Пример #1
0
		/// <summary>
		/// Initialisiert eine neue Instanz von <see cref="updatePackage"/>.
		/// </summary>
		public updatePackage() {
			releaseInfo = new releaseInfo();
			customFields = new serializableDictionary<string, string>();
			publishDate = DateTime.MinValue;
		}
Пример #2
0
		/// <summary>
		/// Initialisiert eine neue Instanz von <see cref="enhancedVersion"/>.
		/// </summary>
		/// <param name="rInfo">Das Versionsobjekt welches für diese Instanz verwendeten werden soll.</param>
		/// <param name="architecture">Die Prozessorarchitektur für welche dieses Versionsobjekt gültig ist.</param>
		internal enhancedVersion(releaseInfo rInfo, updatePackage.SupportedArchitectures architecture) {
			releaseInfo = rInfo;
			Architecture = architecture;
		}
		private string getReleaseDateByVersion(releaseInfo rInfo, updatePackage.SupportedArchitectures target) {
			foreach (updatePackage package in m_result) {
				if (package.releaseInfo.Equals(rInfo) && package.TargetArchitecture.Equals(target)) {
					DateTime releaseDate;
					DateTime.TryParse(package.ReleaseDate, out releaseDate);
					return releaseDate.ToShortDateString();
				}
			}
			return string.Empty;
		}
Пример #4
0
		/// <summary>
		/// Initialisiert eine neue Instanz von <see cref="enhancedVersion"/>.
		/// </summary>
		/// <param name="rInfo">Das Versionsobjekt welches für diese Instanz verwendeten werden soll.</param>
		internal enhancedVersion(releaseInfo rInfo)
			: this(rInfo, updatePackage.SupportedArchitectures.Both) {
		}
		/// <summary>Überprüft ob alle durch den Benutzer gemachen Angaben valide sind, bzw. ob notwendige Eingaben fehlen.</summary>
		/// <returns>Gibt True zurück wenn die Prüfung erfolgreich war, andernfalls False.</returns>
		private bool validateUpdatePackage() {
			// 0.0.0.0 als Version ist unzulässig
			if (nmMajor.Value == 0 && nmMinor.Value == 0 &&
			    nmRevision.Value == 0 && nmBuild.Value == 0) {
				showMissingOrInvalidDataWarning("Die Eingabe von \"0.0.0.0\" als Version ist nicht zulässig.");
				return false;
			}

			//Überprüfen ob es im Updateprojekt nicht bereits ein Paket mit identisches Informationen gibt
			var rlsInfo = new releaseInfo {
			                              	Version =
			                              		string.Format("{0}.{1}.{2}.{3}",
			                              		              new[] {
			                              		                    	nmMajor.Value.ToString(CultureInfo.InvariantCulture), nmMinor.Value.ToString(CultureInfo.InvariantCulture),
			                              		                    	nmBuild.Value.ToString(CultureInfo.InvariantCulture), nmRevision.Value.ToString(CultureInfo.InvariantCulture)
			                              		                    }),
			                              	Step = (int) nmPreviewState.Value,
			                              	Type = (releaseTypes) cboReleaseState.SelectedIndex
			                              };

			foreach (updatePackage package in Session.currentProject.updatePackages) {
				if (package.releaseInfo == rlsInfo &&
				    package.TargetArchitecture == (updatePackage.SupportedArchitectures) cboTargetArchitecture.SelectedIndex &&
				    !_onEdit) {
					showMissingOrInvalidDataWarning("Es existiert bereits eine Updatepaket mit identischen Versionsinformationen.");
					return false;
				}
			}

			//Auf eine gültige Beschreibung prüfen
			if (string.IsNullOrEmpty(txtDescription.Text)) {
				showMissingOrInvalidDataWarning("Geben Sie bitte eine Beschreibung für das Updatepaket an.");
				return false;
			}

			//Überprüfe ob ein Changelogtext angegeben wurde
			if (string.IsNullOrEmpty(_changelogDe) && string.IsNullOrEmpty(_changelogEn)) {
				showMissingOrInvalidDataWarning("Geben Sie bitte einen Changelog in mindestens einer Sprache ein.");
				return false;
			}

			if (tvwContent.Nodes["nodeActions"].Nodes.Count == 0) {
				showMissingOrInvalidDataWarning("Sie müssen mindestens eine updateAction diesem Updatepaket hinzufügen.");
				return false;
			}

			//Updateaktionen validieren
			foreach (TreeNode actionNode in tvwContent.Nodes["nodeActions"].Nodes) {
				actionBase currentAction = ((KeyValuePair<actionBase, administrationEditorAttribute>) actionNode.Tag).Key;
				if (!currentAction.Validate()) {
					showMissingOrInvalidDataWarning(
						string.Format("Die hinzugefügte Updateaktion \"{0}\" meldet ein oder mehr ungültige Werte.", currentAction));
					tvwContent.SelectedNode = actionNode;
					return false;
				}
			}

			return true;
		}
Пример #6
0
 /// <summary>
 /// Kontruktor
 /// </summary>
 public UpdateSettings()
 {
     releaseInfo   = new releaseInfo();
     releaseFilter = new releaseFilterType();
 }
Пример #7
0
		/// <summary>
		/// Initialisiert eine neue Instanz des <see cref="updateController"/>.
		/// </summary>
		/// <param name="updateLocation">Die Internetadresse der Updatekonfiguration.</param>
		/// <param name="currentVersion">Die aktuell Installierte Version der Anwendung (String.Empty wenn diese automatisch ermittelt werden soll)</param>
		/// <param name="sPublicKey">Der öffentliche Schlüssel welcher zum Überprüfen der Updatepakete und der Updatekonfiguration verwendet werden soll.</param>
		public updateController(string updateLocation, string currentVersion, string sPublicKey) {
			//Standardwerte setzen
			releaseInfo = new releaseInfo();
			releaseFilter = new releaseFilterType();
			requestElevation = true;
			showTaskBarProgress = true;
			projectId = Guid.Empty.ToString();
			proxyPort = 8080;

			this.updateLocation = updateLocation;
			releaseInfo.Version = currentVersion;
			publicKey = sPublicKey;
		}
Пример #8
0
		/// <summary>
		/// Kontruktor
		/// </summary>
		public UpdateSettings() {
			releaseInfo = new releaseInfo();
			releaseFilter = new releaseFilterType();
		}