Skip to content

Instantly share code, notes, and snippets.

@nrslib
Created September 9, 2018 13:35
Show Gist options
  • Save nrslib/c8b3db89f7468fdfa7a2b28fac83cb84 to your computer and use it in GitHub Desktop.
Save nrslib/c8b3db89f7468fdfa7a2b28fac83cb84 to your computer and use it in GitHub Desktop.
public class UserCreateInteractor : IUserCreateUseCase {
private readonly IUserRepository userRepository;
public UserCreateInteractor(IUserRepository userRepository){
this.userRepository = userRepository;
}
public UserCreateResponse Handle(UserCreateRequest request){ // ← ここに処理が流れてくる
var username = request.UserName;
var duplicateUser = userRepository.FindByUserName(username);
if(duplicateUser != null){
throw new Exception("duplicated");
}
var user = new User(username);
userRepository.Save(user);
return new UserCreateResponse(user.Id);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment