public T Post <V>(T obj) where V : AbstractValidator <T> { Validate(obj, Activator.CreateInstance <V>()); repository.Insert(obj); return(obj); }