Esempio n. 1
0
        public static void Assert(this IResultDto result)
        {
            if (result == null)
            {
                throw new NullException(() => result);
            }

            ResultHelper.Assert(result);
        }
Esempio n. 2
0
        public static string FormatMessages(IResultDto result)
        {
            if (result == null)
            {
                throw new NullException(() => result);
            }

            string formattedMessages = MessageHelper.FormatMessages(result.Messages);

            return(formattedMessages);
        }
Esempio n. 3
0
        // Canonical

        public static void Assert(IResultDto result)
        {
            if (result == null)
            {
                throw new NullException(() => result);
            }

            // ReSharper disable once InvertIf
            if (!result.Successful)
            {
                string formattedMessages = FormatMessages(result);
                throw new Exception(formattedMessages);
            }
        }
Esempio n. 4
0
        // DTO

        public static void Combine(this IResultDto destResult, IResultDto sourceResult)
        {
            if (destResult == null)
            {
                throw new NullException(() => destResult);
            }
            if (sourceResult == null)
            {
                throw new NullException(() => sourceResult);
            }

            destResult.Successful &= sourceResult.Successful;
            destResult.Messages    = destResult.Messages ?? new List <string>();
            destResult.Messages.AddRange(sourceResult.Messages);
        }
        /// <summary>
        /// Mind that destResult.Successful should be set to true,
        /// if it is ever te be set to true.
        /// </summary>
        public static void ToCanonical(this IEnumerable <IValidator> sourceValidators, IResultDto destResultDto)
        {
            // ReSharper disable once JoinNullCheckWithUsage
            if (sourceValidators == null)
            {
                throw new NullException(() => sourceValidators);
            }
            if (destResultDto == null)
            {
                throw new ArgumentNullException(nameof(destResultDto));
            }

            // Prevent multiple enumeration.
            sourceValidators = sourceValidators.ToArray();

            destResultDto.Successful &= sourceValidators.All(x => x.IsValid);

            destResultDto.Messages = destResultDto.Messages ?? new List <string>();

            destResultDto.Messages.AddRange(sourceValidators.SelectMany(x => x.Messages));
        }