public SerializableValidationException(SerializableValidationResult validationResult)
     : base(validationResult.ErrorMessage)
 {
     this.errorCode = validationResult.ErrorCode;
     this.ErrorMessage = validationResult.ErrorMessage;
     this.Violations = validationResult.Errors;
 }
        public static SerializableValidationResult AsSerializable(this ValidationResult result)
        {
            var validationResult = new SerializableValidationResult();
            foreach (var error in result.Errors)
                validationResult.Errors.Add(new SerializableValidationError(error.ErrorMessage, error.PropertyName));

            return validationResult;
        }
 public static void ThrowIfNotValid(SerializableValidationResult validationResult)
 {
     if (!validationResult.IsValid)
     {
         throw new SerializableValidationException(validationResult);
     }
 }