using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;

namespace AsbCloudInfrastructure;

public static class ValidationExtensions
{
	public static bool Validate(this IValidatableObject validatableObject, ICollection<ValidationResult> validationResults)
	{
		var validationContext = new ValidationContext(validatableObject, serviceProvider: null, items: null);
		
		foreach (var validationResult in validatableObject.Validate(validationContext))
			validationResults.Add(validationResult);

		return Validator.TryValidateObject(validatableObject, validationContext, validationResults, true);
	}
}