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)); } }
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)); }