using System.ComponentModel.DataAnnotations;
using System.Diagnostics.CodeAnalysis;

namespace Core.Abstractions.Models {

  public abstract class RequestModelBase : ModelBase, IValidatableObject {
    public abstract IEnumerable<ValidationResult> Validate(ValidationContext validationContext);
  }


  public abstract class RequestModelBase<T> : ModelBase, IValidatableObject {
    public abstract T ToDomainObject();
    public abstract IEnumerable<ValidationResult> Validate(ValidationContext validationContext);
  }
}
