コード例 #1
0
        private void QueryUpgrade()
        {
            #region Check/Validate Version
            KeyValues.Reresh();
            String versionString = KeyValues.Instance.GetKeyValue(KeyValueE.CurrentVersionNo).Value;

            if (String.IsNullOrEmpty(versionString))
            {
                ChatClient.Write(ChatTypeE.OnlineClient, ChatMessageTypeE.Error, ChatTypeE.OnlineClient, MsgE.InfoNoAvService, 0);
                return;
            }

            Int32 major;
            Int32 minor;
            Int32 build;
            Int32 revision;

            String[] versionParts = versionString.Split('.');

            if (versionParts.Length < 4)
            {
                ChatClient.Write(ChatTypeE.OnlineClient, ChatMessageTypeE.Error, ChatTypeE.OnlineClient, MsgE.InfoNoAvService, 0);
                return;
            }

            if (!Int32.TryParse(versionParts[0], out major))
            {
                ChatClient.Write(ChatTypeE.OnlineClient, ChatMessageTypeE.Error, ChatTypeE.OnlineClient, MsgE.InfoNoAvService, 0);
                return;
            }

            if (!Int32.TryParse(versionParts[1], out minor))
            {
                ChatClient.Write(ChatTypeE.OnlineClient, ChatMessageTypeE.Error, ChatTypeE.OnlineClient, MsgE.InfoNoAvService, 0);
                return;
            }

            if (!Int32.TryParse(versionParts[2], out build))
            {
                ChatClient.Write(ChatTypeE.OnlineClient, ChatMessageTypeE.Error, ChatTypeE.OnlineClient, MsgE.InfoNoAvService, 0);
                return;
            }

            if (!Int32.TryParse(versionParts[3], out revision))
            {
                ChatClient.Write(ChatTypeE.OnlineClient, ChatMessageTypeE.Error, ChatTypeE.OnlineClient, MsgE.InfoNoAvService, 0);
                return;
            }
            #endregion

            #region Upgrade
            Version currentVersion  = new Version(Config.Version);
            Version newVersion      = new Version(major, minor, build, revision);
            Boolean upgradeRequired = false;
            upgradeRequired = UpdateUtility.IsUpgradeRequired(currentVersion, newVersion);

            if (upgradeRequired)
            {
                if (MessageForm.Confirm(null, MsgE.InfoUpgradeAvailable) == DialogResult.Yes)
                {
                    DownloadUpgrades();
                }
            }
            else
            {
                ChatClient.Write(ChatTypeE.OnlineClient, ChatMessageTypeE.Info, ChatTypeE.OnlineClient, MsgE.InfoUpgradeNotRequired, 0);
            }
            #endregion
        }