internal virtual void Register(RSException rsException, ObjectType objectType) { if (m_suspendErrors) { return; } m_hasError = true; if (m_messages == null) { m_messages = new ProcessingMessageList(); } ProcessingMessage processingMessage = CreateProcessingMessage(rsException.Code, objectType, rsException.Message); m_messages.Add(processingMessage); for (rsException = (rsException.InnerException as RSException); rsException != null; rsException = (rsException.InnerException as RSException)) { ProcessingMessage processingMessage2 = CreateProcessingMessage(rsException.Code, objectType, rsException.Message); if (processingMessage.ProcessingMessages == null) { processingMessage.ProcessingMessages = new ProcessingMessageList(1); } processingMessage.ProcessingMessages.Add(processingMessage2); processingMessage = processingMessage2; } }
protected override XmlNode AddMoreInformationForThis(XmlDocument doc, XmlNode parent, StringBuilder errorMsgBuilder) { if (this.m_processingMessages == null) { return(base.AddMoreInformationForThis(doc, parent, errorMsgBuilder)); } bool flag = false; foreach (ProcessingMessage processingMessage3 in this.m_processingMessages) { if (processingMessage3.Severity == Severity.Error) { flag = true; break; } } if (!flag) { return(base.AddMoreInformationForThis(doc, parent, errorMsgBuilder)); } XmlNode xmlNode = RSException.CreateMoreInfoNode(this.Source, doc, parent); foreach (ProcessingMessage processingMessage4 in this.m_processingMessages) { if (processingMessage4.Severity == Severity.Error && xmlNode != null) { string text = ReportProcessingException.CodeFromMessage(processingMessage4); string helpLink = base.CreateHelpLink(typeof(RPRes).FullName, text); RSException.AddMessageToMoreInfoNode(doc, xmlNode, text, processingMessage4.Message, helpLink); } } return(xmlNode); }
public override void Register(RSException rsException, ObjectType objectType) { try { Monitor.Enter(this); base.Register(rsException, objectType); } finally { Monitor.Exit(this); } }
protected override void AddWarnings(XmlDocument doc, XmlNode parent) { if (this.m_processingMessages != null) { foreach (ProcessingMessage processingMessage in this.m_processingMessages) { if (processingMessage.Severity == Severity.Warning) { string code = ReportProcessingException.CodeFromMessage(processingMessage); RSException.AddWarningNode(doc, parent, code, processingMessage.Severity.ToString(), processingMessage.ObjectName, processingMessage.ObjectType.ToString(), processingMessage.Message); } } } }