private void _peb_CheckForNewFirmwareCompleted(object sender, Core.EventArguments.CheckForNewFirmwareVersionEventArgs e) { if (e.NewVersionAvailable) { MessageBox.Show("new version available"); } }
public void CheckForNewFirmwareAsync(P3bbleFirmwareVersion version, bool useNightlyBuild = false) { string url = version.GetFirmwareServerUrl(useNightlyBuild); WebClient wc = new WebClient(); wc.DownloadStringAsync(new Uri(url)); wc.DownloadStringCompleted += (sender, e) => { byte[] byteArray = Encoding.UTF8.GetBytes(e.Result); MemoryStream stream = new MemoryStream(byteArray); var serializer = new DataContractJsonSerializer(typeof(P3bbleFirmwareLatest)); P3bbleFirmwareLatest info = serializer.ReadObject(stream) as P3bbleFirmwareLatest; stream.Close(); CheckForNewFirmwareVersionEventArgs eventArgs = new CheckForNewFirmwareVersionEventArgs(false, null); if (Util.IsNewerVersionAvailable(FirmwareVersion.Version, info.Normal.FriendlyVersion)) { eventArgs = new CheckForNewFirmwareVersionEventArgs(true, info); } if (CheckForNewFirmwareCompleted != null) CheckForNewFirmwareCompleted(this, eventArgs); }; }