コード例 #1
0
        private AppVersion GetAppVersion()
        {
            string        settingsFilePath = Path.Combine(BinaryPath, "Data/server_inputs.xml");
            XDocument     document         = XDocument.Load(settingsFilePath);
            List <string> versions         = document.Element("inputs").Elements("input").Where(e => {
                if (e.HasAttribute("key"))
                {
                    if (e.GetString("key") == "server_version")
                    {
                        return(true);
                    }
                }
                return(false);
            }).Select(e => e.GetString("value")).ToList();

            if (versions.Count > 0)
            {
                log.InfoFormat("server version founded: {0} yellow", versions[0]);
                return(AppVersion.FromString(versions[0]));
            }
            else
            {
                return(new AppVersion(0, 0, 0, 0));
            }
        }
コード例 #2
0
        private async Task <string> UpdatePreview()
        {
            // generate release notes

            bool showAllChanges = false;

            UpdateMessage.Text = _update.Message.Body;

            StringBuilder sb = new StringBuilder();

            sb.AppendLine("**Release Notes**\n");

            sb.AppendLine($"{_update.Message.ReleaseNotesURL}\n");

            if (_update.Message.ReleaseNotes != null)
            {
                foreach (var note in _update.Message.ReleaseNotes)
                {
                    if (showAllChanges || _update.InstalledVersion == null || AppVersion.IsOtherVersionNewer(_update.InstalledVersion, AppVersion.FromString(note.Version)))
                    {
                        sb.AppendLine($"{note.Version}: {note.ReleaseDate}");
                        sb.AppendLine($"{note.Body}\n");
                        sb.AppendLine($"-------------------------\n");
                    }
                }
            }

            var result = Markdig.Markdown.ToHtml(sb.ToString(), _markdownPipeline);

            result = "<html><head><meta http-equiv='Content-Type' content='text/html;charset=UTF-8'><meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\" />" +
                     "<style>" + _css + "</style></head><body>" + result + "</body></html>";

            return(await Task.FromResult(result));
        }