private void getOnlineVersions() { try { ApplicationVersions onlineVersions = new ApplicationVersions(); onlineVersions.ReadXml(onlineVersionURL); //Local Version of Application Version localapp = new Version(Application.ProductVersion); Version onlineApp = new Version(); if (onlineVersions.Application.Count > 0) { //Online Version of Application onlineApp = new Version(onlineVersions.Application.Rows[0]["local_version"].ToString()); this.versions.Application.Rows[0]["online_version"] = (string)onlineVersions.Application.Rows[0]["local_version"]; } else { this.versions.Application.Rows[0]["online_version"] = "0"; } //Compare online and local version if (onlineApp > localapp) { this.applicationUpdatesAvailable = true; } foreach (ApplicationVersions.DatabaseRow row in this.versions.Database.Rows) { ApplicationVersions.DatabaseRow onlineRow = (ApplicationVersions.DatabaseRow)onlineVersions.Database.FindByfilename(row.filename); if (onlineRow != null) { row.online_version = (string)onlineRow.local_version; //local version of database Version local = new Version(row.local_version); //online version of database Version online = new Version(row.online_version); //Compare local and online version if (local < online && row.update == true) { row.update = true; //one database needs an update this.databaseUpdatesAvailable = true; } else { row.update = false; } } } } catch (Exception ex) { MessageBox.Show(ex.Message); } }
/// <summary> /// Check for old poorly named settings that don't directly match setting property names /// </summary> /// <param name="settings">The node that holds all the settings nodes</param> public void ApplyLegacySettings(List <XElement> settings) { for (int i = 0; i < settings.Count; i++) { XElement setting = settings[i]; switch (setting.Name.LocalName) { //put legacy names here to direct name change case "backupModFolder": BackupModFolder = bool.Parse(setting.Value); break; case "cleanInstallation": CleanInstallation = bool.Parse(setting.Value); break; case "forceManuel": ForceManuel = bool.Parse(setting.Value); break; case "saveLastConfig": SaveLastSelection = bool.Parse(setting.Value); break; case "saveUserData": SaveUserData = bool.Parse(setting.Value); break; case "EnableChildColorChangeLegacyView": EnableColorChangeLegacyView = bool.Parse(setting.Value); break; case "EnableChildColorChangeDefaultV2View": EnableColorChangeDefaultV2View = bool.Parse(setting.Value); break; case "clearCache": ClearCache = bool.Parse(setting.Value); break; case "deleteLogs": DeleteLogs = bool.Parse(setting.Value); break; case "modSelectionHeight": ModSelectionHeight = int.Parse(setting.Value); break; case "modSelectionWidth": ModSelectionWidth = int.Parse(setting.Value); break; case "previewX": PreviewX = int.Parse(setting.Value); break; case "previewY": PreviewY = int.Parse(setting.Value); break; case "language": Language = (Languages)int.Parse(setting.Value); break; case "SelectionView": ModSelectionView = (SelectionView)int.Parse(setting.Value); break; case "BetaApplication": if (CommonUtils.ParseBool(setting.Value, false)) { ApplicationDistroVersion = ApplicationVersions.Beta; } else { ApplicationDistroVersion = ApplicationVersions.Stable; } break; case "BetaDatabase": if (CommonUtils.ParseBool(setting.Value, false)) { DatabaseDistroVersion = DatabaseVersions.Beta; } else { DatabaseDistroVersion = DatabaseVersions.Stable; } break; case "SuperExtraction": MulticoreExtraction = CommonUtils.ParseBool(setting.Value, false); break; case "InstantExtraction": InstallWhileDownloading = CommonUtils.ParseBool(setting.Value, false); break; } } }
public static global::System.Xml.Schema.XmlSchemaComplexType GetTypedTableSchema(global::System.Xml.Schema.XmlSchemaSet xs) { global::System.Xml.Schema.XmlSchemaComplexType type = new global::System.Xml.Schema.XmlSchemaComplexType(); global::System.Xml.Schema.XmlSchemaSequence sequence = new global::System.Xml.Schema.XmlSchemaSequence(); ApplicationVersions ds = new ApplicationVersions(); global::System.Xml.Schema.XmlSchemaAny any1 = new global::System.Xml.Schema.XmlSchemaAny(); any1.Namespace = "http://www.w3.org/2001/XMLSchema"; any1.MinOccurs = new decimal(0); any1.MaxOccurs = decimal.MaxValue; any1.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax; sequence.Items.Add(any1); global::System.Xml.Schema.XmlSchemaAny any2 = new global::System.Xml.Schema.XmlSchemaAny(); any2.Namespace = "urn:schemas-microsoft-com:xml-diffgram-v1"; any2.MinOccurs = new decimal(1); any2.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax; sequence.Items.Add(any2); global::System.Xml.Schema.XmlSchemaAttribute attribute1 = new global::System.Xml.Schema.XmlSchemaAttribute(); attribute1.Name = "namespace"; attribute1.FixedValue = ds.Namespace; type.Attributes.Add(attribute1); global::System.Xml.Schema.XmlSchemaAttribute attribute2 = new global::System.Xml.Schema.XmlSchemaAttribute(); attribute2.Name = "tableTypeName"; attribute2.FixedValue = "ApplicationDataTable"; type.Attributes.Add(attribute2); type.Particle = sequence; global::System.Xml.Schema.XmlSchema dsSchema = ds.GetSchemaSerializable(); if (xs.Contains(dsSchema.TargetNamespace)) { global::System.IO.MemoryStream s1 = new global::System.IO.MemoryStream(); global::System.IO.MemoryStream s2 = new global::System.IO.MemoryStream(); try { global::System.Xml.Schema.XmlSchema schema = null; dsSchema.Write(s1); for (global::System.Collections.IEnumerator schemas = xs.Schemas(dsSchema.TargetNamespace).GetEnumerator(); schemas.MoveNext(); ) { schema = ((global::System.Xml.Schema.XmlSchema)(schemas.Current)); s2.SetLength(0); schema.Write(s2); if ((s1.Length == s2.Length)) { s1.Position = 0; s2.Position = 0; for (; ((s1.Position != s1.Length) && (s1.ReadByte() == s2.ReadByte())); ) { ; } if ((s1.Position == s1.Length)) { return type; } } } } finally { if ((s1 != null)) { s1.Close(); } if ((s2 != null)) { s2.Close(); } } } xs.Add(dsSchema); return type; }
public static global::System.Xml.Schema.XmlSchemaComplexType GetTypedDataSetSchema(global::System.Xml.Schema.XmlSchemaSet xs) { ApplicationVersions ds = new ApplicationVersions(); global::System.Xml.Schema.XmlSchemaComplexType type = new global::System.Xml.Schema.XmlSchemaComplexType(); global::System.Xml.Schema.XmlSchemaSequence sequence = new global::System.Xml.Schema.XmlSchemaSequence(); global::System.Xml.Schema.XmlSchemaAny any = new global::System.Xml.Schema.XmlSchemaAny(); any.Namespace = ds.Namespace; sequence.Items.Add(any); type.Particle = sequence; global::System.Xml.Schema.XmlSchema dsSchema = ds.GetSchemaSerializable(); if (xs.Contains(dsSchema.TargetNamespace)) { global::System.IO.MemoryStream s1 = new global::System.IO.MemoryStream(); global::System.IO.MemoryStream s2 = new global::System.IO.MemoryStream(); try { global::System.Xml.Schema.XmlSchema schema = null; dsSchema.Write(s1); for (global::System.Collections.IEnumerator schemas = xs.Schemas(dsSchema.TargetNamespace).GetEnumerator(); schemas.MoveNext(); ) { schema = ((global::System.Xml.Schema.XmlSchema)(schemas.Current)); s2.SetLength(0); schema.Write(s2); if ((s1.Length == s2.Length)) { s1.Position = 0; s2.Position = 0; for (; ((s1.Position != s1.Length) && (s1.ReadByte() == s2.ReadByte())); ) { ; } if ((s1.Position == s1.Length)) { return type; } } } } finally { if ((s1 != null)) { s1.Close(); } if ((s2 != null)) { s2.Close(); } } } xs.Add(dsSchema); return type; }
/// <summary> /// Check for old poorly named settings that don't directly match setting property names /// </summary> /// <param name="settings">The node that holds all the settings nodes</param> public static void ApplyOldSettings(XmlNodeList settings) { for (int i = 0; i < settings.Count; i++) { XmlNode setting = settings[i]; switch (setting.Name) { //put legacy names here to direct name change //TODO: super extraction and instant extraction? case "backupModFolder": BackupModFolder = bool.Parse(setting.InnerText); break; case "cleanInstallation": CleanInstallation = bool.Parse(setting.InnerText); break; case "forceManuel": ForceManuel = bool.Parse(setting.InnerText); break; case "saveLastConfig": SaveLastSelection = bool.Parse(setting.InnerText); break; case "saveUserData": SaveUserData = bool.Parse(setting.InnerText); break; case "EnableChildColorChangeLegacyView": EnableColorChangeLegacyView = bool.Parse(setting.InnerText); break; case "EnableChildColorChangeDefaultV2View": EnableColorChangeDefaultV2View = bool.Parse(setting.InnerText); break; case "clearCache": ClearCache = bool.Parse(setting.InnerText); break; case "deleteLogs": DeleteLogs = bool.Parse(setting.InnerText); break; case "modSelectionHeight": ModSelectionHeight = int.Parse(setting.InnerText); break; case "modSelectionWidth": ModSelectionWidth = int.Parse(setting.InnerText); break; case "previewX": PreviewX = int.Parse(setting.InnerText); break; case "previewY": PreviewY = int.Parse(setting.InnerText); break; case "language": Language = (Languages)int.Parse(setting.InnerText); break; case "SelectionView": ModSelectionView = (SelectionView)int.Parse(setting.InnerText); break; case "BetaApplication": ApplicationDistroVersion = ApplicationVersions.Beta; break; case "BetaDatabase": DatabaseDistroVersion = DatabaseVersions.Beta; break; } } }
public ApplicationFilter(ApplicationVersions versions) { _versions = versions; }