private static string GetLocalizedEffectErrorMessage(Assembly assembly, string typeName, IPluginSupportInfo supportInfo, Exception exception) { string fileName = assembly.Location; string shortErrorFormat = PdnResources.GetString("EffectErrorMessage.ShortFormat"); string fullErrorFormat = PdnResources.GetString("EffectErrorMessage.FullFormat"); string notSuppliedText = PdnResources.GetString("EffectErrorMessage.InfoNotSupplied"); string errorText; if (supportInfo == null) { errorText = string.Format( shortErrorFormat, fileName ?? notSuppliedText, typeName ?? notSuppliedText, exception.ToString()); } else { errorText = string.Format( fullErrorFormat, fileName ?? notSuppliedText, typeName ?? supportInfo.DisplayName ?? notSuppliedText, (supportInfo.Version ?? new Version()).ToString(), supportInfo.Author ?? notSuppliedText, supportInfo.Copyright ?? notSuppliedText, (supportInfo.WebsiteUri == null ? notSuppliedText : supportInfo.WebsiteUri.ToString()), exception.ToString()); } return errorText; }
private static string GetDetailTextForFilePath(IPluginErrorService pluginErrorService, IEnumerable <PluginErrorInfo> allPluginErrorInfos, string filePath) { string format = PdnResources.GetString("SettingsDialog.Plugins.AssemblyDetailText.Name.Format"); string str2 = PdnResources.GetString("SettingsDialog.Plugins.SupportInfo.DisplayName.Format"); string str3 = PdnResources.GetString("SettingsDialog.Plugins.SupportInfo.Version.Format"); string str4 = PdnResources.GetString("SettingsDialog.Plugins.SupportInfo.Author.Format"); string str5 = PdnResources.GetString("SettingsDialog.Plugins.SupportInfo.Copyright.Format"); string str6 = PdnResources.GetString("SettingsDialog.Plugins.SupportInfo.Website.Format"); string str7 = PdnResources.GetString("SettingsDialog.Plugins.SupportInfo.Type.Format"); if (((allPluginErrorInfos == null) || !allPluginErrorInfos.Any <PluginErrorInfo>()) || (filePath == null)) { return(string.Empty); } string str8 = null; IPluginSupportInfo pluginSupportInfo = null; if (str8 == null) { Assembly assembly = (from pei in allPluginErrorInfos where pei.FilePath == filePath where pei.HasAssembly select pei.Assembly).FirstOrDefault <Assembly>(); if (assembly != null) { AssemblyName name = new AssemblyName(assembly.FullName); pluginSupportInfo = PluginSupportInfo.GetPluginSupportInfo(assembly); str8 = string.Format(format, assembly.Location, name.Version); } } if (str8 == null) { str8 = filePath; pluginSupportInfo = null; } StringBuilder builder = new StringBuilder(); builder.Append(str8); builder.Append("\r\n"); if (pluginSupportInfo != null) { if (!string.IsNullOrWhiteSpace(pluginSupportInfo.DisplayName)) { builder.AppendFormat(str2, pluginSupportInfo.DisplayName); builder.Append("\r\n"); } if ((pluginSupportInfo.Version != null) && (pluginSupportInfo.Version != new Version(0, 0, 0, 0))) { builder.AppendFormat(str3, pluginSupportInfo.Version.ToString()); builder.Append("\r\n"); } if (!string.IsNullOrWhiteSpace(pluginSupportInfo.Author)) { builder.AppendFormat(str4, pluginSupportInfo.Author); builder.Append("\r\n"); } if (!string.IsNullOrWhiteSpace(pluginSupportInfo.Copyright)) { builder.AppendFormat(str5, pluginSupportInfo.Copyright); builder.Append("\r\n"); } if (pluginSupportInfo.WebsiteUri != null) { builder.AppendFormat(str6, pluginSupportInfo.WebsiteUri.ToString()); builder.Append("\r\n"); } } builder.Append("\r\n"); PluginErrorInfo[] infoArray = (from pei in allPluginErrorInfos where pei.FilePath == filePath orderby pei.TypeName select pei).ToArrayEx <PluginErrorInfo>(); bool flag = true; foreach (PluginErrorInfo info2 in infoArray) { IPluginSupportInfo info3; string pluginBlockReasonString; if (!flag) { builder.Append("\r\n"); } else { flag = false; } if (info2.Type != null) { info3 = PluginSupportInfo.GetPluginSupportInfo(info2.Type); } else { info3 = null; } if ((info3 != null) && !string.IsNullOrWhiteSpace(info3.DisplayName)) { builder.AppendFormat(str2, info3.DisplayName); builder.Append("\r\n"); } if (info2.HasTypeName) { builder.AppendFormat(str7, info2.TypeName); builder.Append("\r\n"); } if (info3 != null) { if ((info3.Version != null) && (info3.Version != new Version(0, 0, 0, 0))) { builder.AppendFormat(str3, info3.Version.ToString()); builder.Append("\r\n"); } if (!string.IsNullOrWhiteSpace(info3.Author)) { builder.AppendFormat(str4, info3.Author); builder.Append("\r\n"); } if (!string.IsNullOrWhiteSpace(info3.Copyright)) { builder.AppendFormat(str5, info3.Copyright); builder.Append("\r\n"); } if (info3.WebsiteUri != null) { builder.AppendFormat(str6, info3.WebsiteUri.ToString()); builder.Append("\r\n"); } } if (info2.Error is BlockedPluginException) { pluginBlockReasonString = GetPluginBlockReasonString(((BlockedPluginException)info2.Error).Reason); } else { pluginBlockReasonString = info2.ErrorString; } builder.Append(pluginBlockReasonString); builder.Append("\r\n"); } return(builder.ToString()); }