protected void btnUpPluginUpdate_Click(object sender, EventArgs e) { string pvName = lblUpPluginName.Text; foreach (PluginInfo info in _availablePlugins) { if (info.Name == pvName) { try { PluginUpdateInfo updateInfo = PluginsUpdater.DownloadPluginUpdateInfo(info); if (PluginsUpdater.Install(updateInfo)) { DisplayPluginUpdate(updateInfo, info, true, null); } else { DisplayPluginUpdate(null, info, false, "Update installation failed!"); } } catch { DisplayPluginUpdate(null, info, false, "Update installation failed!"); } return; } } }
protected void btnPluginUpdateCheckClick(object sender, EventArgs e) { Button btn = (Button)sender; if (btn.CommandName == "Update") { string pvName = btn.CommandArgument; foreach (PluginInfo info in _availablePlugins) { if (info.Name == pvName) { try { PluginUpdateInfo updateInfo = PluginsUpdater.DownloadPluginUpdateInfo(info); DisplayPluginUpdate(updateInfo, info, false, null); } catch { DisplayPluginUpdate(null, info, false, null); } return; } } } }
void DisplayPluginUpdate(PluginUpdateInfo updateInfo, PluginInfo installedInfo, bool installed, string message) { pgUpdatePlugin.Visible = true; lblUpPluginName.Text = installedInfo.Name; lblUpPluginVersion.Text = installedInfo.Version; if (installed) { lblUpPluginStatus.Text = "Update was successful"; lblUpPluginStatus.ForeColor = Color.Green; btnUpPluginUpdate.Enabled = false; } else if (updateInfo == null) { lblUpPluginStatus.Text = "Unable to check for update."; lblUpPluginStatus.ForeColor = Color.Red; btnUpPluginUpdate.Enabled = false; } else { lblUpPluginName.Text = updateInfo.PluginName; lblUpPluginVersion.Text = updateInfo.Version; if (Common.CompareASProxyVersions(updateInfo.Version, installedInfo.Version) == 1) { lblUpPluginStatus.Text = "Update is available."; lblUpPluginStatus.ForeColor = Color.Green; btnUpPluginUpdate.Enabled = true; } else { lblUpPluginStatus.Text = "Update is not available."; lblUpPluginStatus.ForeColor = Color.Red; btnUpPluginUpdate.Enabled = false; } } if (!string.IsNullOrEmpty(message)) { lblUpPluginStatus.Text = message; } }