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;
            }
        }
Exemple #2
0
        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);
        }
Exemple #3
0
 public override void Register(RSException rsException, ObjectType objectType)
 {
     try
     {
         Monitor.Enter(this);
         base.Register(rsException, objectType);
     }
     finally
     {
         Monitor.Exit(this);
     }
 }
Exemple #4
0
 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);
             }
         }
     }
 }