namespace WebMVC.ViewModels.Annotations;

[AttributeUsage(AttributeTargets.Property | AttributeTargets.Field, AllowMultiple = true)]
public class LatitudeCoordinate : ValidationAttribute
{
    protected override ValidationResult
            IsValid(object value, ValidationContext validationContext)
    {
        double coordinate;
        if (!double.TryParse(value.ToString(), out coordinate) || (coordinate < -90 || coordinate > 90))
        {
            return new ValidationResult
                ("Latitude must be between -90 and 90 degrees inclusive.");
        }

        return ValidationResult.Success;
    }
}
