public async Task <ValidationResult> Handle(RegisterNewGameLendCommand message, CancellationToken cancellationToken) { if (!message.IsValid()) { return(message.ValidationResult); } var gameLend = new GameLendModel(Guid.NewGuid(), message.IdGame, message.IdPerson, message.LendOn, message.ReturnedOn, message.Created, message.Updated); if (_gameLendRepository.GameIsAvailable(gameLend.IdGame) == false) { AddError("Game já emprestado."); return(ValidationResult); } gameLend.AddDomainEvent(new GameLendRegisteredEvent(gameLend.IdPerson, gameLend.IdGame, gameLend.LendOn, gameLend.ReturnedOn, gameLend.Created, gameLend.Updated)); _gameLendRepository.Add(gameLend); return(await Commit(_gameLendRepository.UnitOfWork)); }
public bool GameIsAvailable(Guid idGame) { return(_gameLendRepository.GameIsAvailable(idGame)); }