/// <summary> /// Initialisiert eine neue Instanz von <see cref="updatePackage"/>. /// </summary> public updatePackage() { releaseInfo = new releaseInfo(); customFields = new serializableDictionary<string, string>(); publishDate = DateTime.MinValue; }
/// <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; }
/// <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; }
/// <summary> /// Kontruktor /// </summary> public UpdateSettings() { releaseInfo = new releaseInfo(); releaseFilter = new releaseFilterType(); }
/// <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; }