private static void FoundNewAsync(string progExtId)
{
Guid pluginId = findNewPluginInst.ProviderId;
int? progid;
try
{
progid = Model.Programme.FetchInfo(pluginId, progExtId);
}
catch (ProviderException provExp)
{
if (FindNewFailed != null)
{
FindNewFailed();
}
if (MessageBox.Show("There was an unknown error encountered retrieving information about this programme." + Environment.NewLine + Environment.NewLine + "Would you like to send an error report to NerdoftheHerd.com to help improve the " + provExp.ProviderName + " provider?", Application.ProductName, MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation) == DialogResult.Yes)
{
ErrorReporting report = provExp.BuildReport();
report.SendReport();
}
return;
}
if (progid == null)
{
if (FindNewFailed != null)
{
FindNewFailed();
}
MessageBox.Show("There was a temporary problem retrieving information about this programme. Please try again later.", Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
return;
}
if (FoundNew != null)
{
FoundNew(progid.Value);
}
}