Example #1
0
        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);
            }
        }
Example #2
0
        /// <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;
 }
Example #5
0
        /// <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;
                }
            }
        }
Example #6
0
 public ApplicationFilter(ApplicationVersions versions)
 {
     _versions = versions;
 }