Пример #1
0
        public static bool BuildExceptionString(this ValueAccessResult self, IndentedStringBuilder builder)
        {
            Ensure.Argument.NotNull(builder, "builder");

            if (self.Exception == null)
            {
                return(false);
            }

            builder.AppendLine("Exception:");
            using (new IndentedStringBuilder.Scope(builder))
                builder.Append(self.Exception.Message);

            return(true);
        }
Пример #2
0
        /// <summary>
        /// Build a readable string that contains error logs.
        /// </summary>
        /// <param name="builder"> The <see cref="IndentedStringBuilder"/> used to build the string. </param>
        /// <returns>
        /// <see langword="true"/> if the string successfully built; otherwise, <see langword="false"/>.
        /// </returns>
        public static bool BuildErrorLogString(this ValueAccessResult self, IndentedStringBuilder builder)
        {
            Ensure.Argument.NotNull(builder, "builder");

            if (!self.HasErrorLog)
            {
                return(false);
            }

            builder.Append("Error Logs:\n");
            using (new IndentedStringBuilder.Scope(builder))
            {
                foreach (var log in self.ErrorLogs)
                {
                    builder.AppendLine(log.ToString());
                }
                builder.Builder.RemoveTailLineFeed();
            }

            return(true);
        }
Пример #3
0
        /// <summary>
        /// Build a readable string that contains error logs and exception message.
        /// </summary>
        /// <param name="builder"> The <see cref="IndentedStringBuilder"/> used to build the string. </param>
        /// <returns>
        /// <see langword="true"/> if the string successfully built; otherwise, <see langword="false"/>.
        /// </returns>
        public static bool BuildFailString(this ValueAccessResult self, IndentedStringBuilder builder)
        {
            Ensure.Argument.NotNull(builder, "builder");

            if (self.Succeed)
            {
                return(false);
            }

            var errLogBuilt = BuildErrorLogString(self, builder);

            if (self.Exception != null)
            {
                if (errLogBuilt)
                {
                    builder.AppendLine();
                }
                BuildExceptionString(self, builder);
            }

            return(true);
        }