コード例 #1
0
ファイル: updaterForm.cs プロジェクト: Roare/ItemCreator
        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);
            }
        }
コード例 #2
0
ファイル: updaterForm.cs プロジェクト: Roare/ItemCreator
        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");
        }