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); } }
private void getLocalVersions() { this.versions.Clear(); //versionsdatei erstellen mit aktuell installierten versionen //row base.xml ApplicationVersions.DatabaseRow baseXMLRow = this.versions.Database.NewDatabaseRow(); baseXMLRow.filename = "database/base.xml"; string baseFile = Application.StartupPath + "//" + baseXMLRow.filename; if (System.IO.File.Exists(baseFile) != false) { //Test BaseXMLData baseXML = new BaseXMLData(); baseXML.version.ReadXml(baseFile); if (baseXML.version.Count > 0) { baseXMLRow.local_version = (string)baseXML.version.Rows[0]["version"]; baseXMLRow.update = (bool)baseXML.version.Rows[0]["doUpdate"]; } //Message: error reading version else { baseXMLRow.local_version = "error reading version"; } } //Message: file not found else { baseXMLRow.local_version = "file not found"; } //Message: unknown baseXMLRow.online_version = "unknown"; this.versions.Database.AddDatabaseRow(baseXMLRow); //row models.xml ApplicationVersions.DatabaseRow modelsRow = this.versions.Database.NewDatabaseRow(); modelsRow.filename = "database/models.xml"; string modelsFile = Application.StartupPath + "//" + modelsRow.filename; if (System.IO.File.Exists(modelsFile) != false) { ItemModels itemModels = new ItemModels(); itemModels.version.ReadXml(modelsFile); if (itemModels.version.Count > 0) { modelsRow.local_version = (string)itemModels.version.Rows[0]["version"]; modelsRow.update = (bool)itemModels.version.Rows[0]["doUpdate"]; } //Message: error reading version else { modelsRow.local_version = "error reading version"; } } //Message: file not found else { modelsRow.local_version = "file not found"; } //Message: unknown modelsRow.online_version = "unknown"; this.versions.Database.AddDatabaseRow(modelsRow); //Application ApplicationVersions.ApplicationRow appRow = versions.Application.NewApplicationRow(); appRow.local_version = Application.ProductVersion; appRow.online_version = "unknown"; this.versions.Application.AddApplicationRow(appRow); this.versions.WriteXml(Application.StartupPath + "//versions.xml"); }