public static void Assert(this IResultDto result) { if (result == null) { throw new NullException(() => result); } ResultHelper.Assert(result); }
public static string FormatMessages(IResultDto result) { if (result == null) { throw new NullException(() => result); } string formattedMessages = MessageHelper.FormatMessages(result.Messages); return(formattedMessages); }
// 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); } }
// 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)); }