Exemplo n.º 1
0
        /// <summary>
        /// format an error message using the errors from Verification Result
        /// </summary>
        /// <param name="AMessageHeadline"></param>
        /// <param name="AVerificationResult"></param>
        /// <returns></returns>
        public static String BuildMessageFromVerificationResult(String AMessageHeadline, TVerificationResultCollection AVerificationResult)
        {
            String ReturnValue;
            IEnumerator VerificationResultEnum;
            TVerificationResult VerificationResultEntry;

            if (AMessageHeadline == null)
            {
                if (AVerificationResult == null)
                {
                    throw new ArgumentNullException("AVerificationResult must not be null if AMessageHeadline is null!");
                }

                if (AVerificationResult.HasCriticalErrors)
                {
                    AMessageHeadline = Catalog.GetString("Saving of data failed!\r\n\r\nReasons:");
                }
                else
                {
                    AMessageHeadline = StrWarningsAttention;
                }
            }

// MessageBox.Show('AVerificationResult.Count: ' + AVerificationResult.Count.ToString);
            ReturnValue = AMessageHeadline + Environment.NewLine;
            VerificationResultEnum = AVerificationResult.GetEnumerator();

            while (VerificationResultEnum.MoveNext())
            {
                VerificationResultEntry = ((TVerificationResult)VerificationResultEnum.Current);

                ReturnValue += "  * ";

                if (VerificationResultEntry.ResultContext != null)
                {
                    if (!(VerificationResultEntry.ResultContext is TRowReferenceInfo))
                    {
                        ReturnValue += "[" + VerificationResultEntry.ResultContext.ToString() + "] ";
                    }
                }

                ReturnValue += VerificationResultEntry.ResultText;

                if (VerificationResultEntry.ResultCode != String.Empty)
                {
                    ReturnValue += "  [" + VerificationResultEntry.ResultCode + "]";
                }

                ReturnValue += Environment.NewLine + Environment.NewLine;
            }

            return ReturnValue;
        }
Exemplo n.º 2
0
        /// <summary>
        /// to be called from outside
        /// </summary>
        /// <returns>true if successful
        /// </returns>
        protected virtual bool ReadControlsWithErrorHandling(TReportActionEnum AReportAction)
        {
            bool ReturnValue;
            TVerificationResult VerificationResultEntry;

            System.Collections.IEnumerator VerificationResultEnum;
            String UserMessage;
            ReturnValue = false;
            try
            {
                FVerificationResults = new TVerificationResultCollection();
                ReadControls(AReportAction); // Overridden versions of this method may add verification results.

                if (FVerificationResults.Count != 0)
                {
                    UserMessage = "Report could not be generated." + Environment.NewLine + Environment.NewLine + "Reasons:" + Environment.NewLine +
                                  Environment.NewLine;
                    VerificationResultEnum = FVerificationResults.GetEnumerator();

                    while (VerificationResultEnum.MoveNext())
                    {
                        VerificationResultEntry = ((TVerificationResult)VerificationResultEnum.Current);

                        if (VerificationResultEntry.ResultContext.ToString().Length > 0)
                        {
                            UserMessage = UserMessage + "  * [" + VerificationResultEntry.ResultContext + "] ";
                        }
                        else
                        {
                            UserMessage = UserMessage + "  * ";
                        }

                        UserMessage = UserMessage + VerificationResultEntry.ResultText + Environment.NewLine + Environment.NewLine;
                    }

                    MessageBox.Show(UserMessage, "Error");
                }
                else
                {
                    ReturnValue = true;
                }
            }
            catch (Exception e)
            {
                TLogging.Log(e.ToString());

                if (TLogging.DebugLevel >= TLogging.DEBUGLEVEL_REPORTING)
                {
                    MessageBox.Show(e.ToString(), "DEBUG: Invalid Selection");

                    // todo: use the verification tools from Christian
                    MessageBox.Show(e.Message, "Invalid Selection");
                }
            }
            return ReturnValue;
        }