private static void FoundNewAsync(string progExtId) { Guid pluginId = findNewPluginInst.ProviderId; int? progid; try { progid = Model.Programme.FetchInfo(pluginId, progExtId); } catch (ProviderException provExp) { FindNewFailed?.Invoke(); 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) { FindNewFailed?.Invoke(); MessageBox.Show("There was a temporary problem retrieving information about this programme. Please try again later.", Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } FoundNew?.Invoke(progid.Value); }
private static void InitEpisodeListThread(int progid) { try { List <string> episodeExtIDs = Model.Programme.GetAvailableEpisodes(progid, true); if (episodeExtIDs != null) { foreach (string episodeExtId in episodeExtIDs) { int?epid = null; epid = Model.Episode.FetchInfo(progid, episodeExtId); if (epid == null) { continue; } Model.Episode.UpdateInfoIfRequired(epid.Value); lock (episodeListThreadLock) { if (!ReferenceEquals(Thread.CurrentThread, episodeListThread)) { return; } if (EpisodeAdded != null) { EpisodeAdded(epid.Value); } } } } } catch (ProviderException provExp) { if (MessageBox.Show("There was an unknown error encountered fetching the list of available episodes." + 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; } }
private static void FindNewPluginInst_FindNewException(Exception exception, bool unhandled) { if (unhandled) { ErrorReporting report = new ErrorReporting(exception); using (ReportError showError = new ReportError()) { showError.ShowReport(report); } } else { ErrorReporting reportException = new ErrorReporting("Find New Error", exception); reportException.SendReport(); } }
private static void FindNewPluginInst_FindNewException(Exception exception, bool unhandled) { if (unhandled) { ErrorReporting report = new ErrorReporting(exception); using (ReportError showError = new ReportError()) { showError.ShowReport(report); } } else { ErrorReporting reportException = new ErrorReporting("Find New Error", exception); reportException.SendReport(); } }