With this type of architecture, it's best to create Interactors that contain all the business logic. That way your domain models (such as User) can be very lightweight.
There are two common ways to go about create Interactors. One way is to create a Service object. The service can offer all use cases and perform all business logic. This approach works better for simple domain models and for small/medium applications.
Service Interactor Example:
public class UserService
{
public void ChangeUsername(User user, string name)
{
... business logic ...
}
}
Another common way to encapsulate business logic is to create an object per use case. Whenever you add a new operation, simply create a new class. This requires more initial work and a better grasp of enterprise architecture, but results in a very scalable solution.
Use Case Interactor Example:
public class ChangeUsernameOperation
{
public void ChangeUsernameOperation(User user, string name)
{
... business logic ...
}
}