internal static Task <ModellerVersion> CheckForUpdates() { return(Task.Run(() => { try { XmlDocument doc = new XmlDocument(); doc.Load("https://www.blueprint41.com/download/updater.xml"); XmlNode modellerNode = doc.DocumentElement.SelectSingleNode("/modeller"); string version = modellerNode.SelectSingleNode("version").InnerText; string downloadUrl = modellerNode.SelectSingleNode("downloadUrl").InnerText; string[] versions = version.Split('.'); long.TryParse(versions[0], out long major); long.TryParse(versions[1], out long minor); long.TryParse(versions[2], out long patch); ModellerVersion updatedVersion = new ModellerVersion(major, minor, patch, downloadUrl); return updatedVersion; } catch (Exception ex) { return ModellerVersion.Empty; } })); }
private async Task CheckForUpdates() { tslblStatus.Text = "Checking for updates...."; ShowHideControls(false); progressBar.Style = ProgressBarStyle.Marquee; progressBar.MarqueeAnimationSpeed = 30; progressBar.ProgressBar.Show(); version = await Util.CheckForUpdates(); if (progressBar.ProgressBar != null) { progressBar.Style = ProgressBarStyle.Continuous; progressBar.MarqueeAnimationSpeed = 0; progressBar.ProgressBar.Hide(); } bool hasUpdates = version.IsUpdatedVersion(); tslblStatus.Text = hasUpdates ? "Update available" : "No update available"; if (hasUpdates && string.IsNullOrEmpty(version.DownloadUrl) == false) { await CheckFileSize(version.DownloadUrl); } lblVersion.Text = version.ToString(); ShowHideControls(hasUpdates); }
void GetApplicationVersion() { lblVersion.Text = ModellerVersion.CurrentVersion().ToString(); }