public void HandleRequestAsync(RequestModel requestModel, IOutputBoundary <ResponseModel> outputBoundary) { _ = requestModel?.PlayerId ?? throw new ArgumentNullException(nameof(requestModel.PlayerId)); var avitar = AvitarRepository.ReadAsync(requestModel.PlayerId); var currentPlayer = new BlackJackPlayer(avitar, HandIdProvider, requestModel.HandCount); var keyAndGame = GameRepository.FindByStatusFirstOrDefault(GameStatus.Waiting, requestModel.MaxPlayers); string gameIdentifier; BlackJackGame game; if (string.IsNullOrEmpty(keyAndGame.Key)) { gameIdentifier = GameIdProviders.GenerateGameId(); game = new BlackJackGame(CardProvider, DealerProvider.Dealer, requestModel.MaxPlayers); } else { gameIdentifier = keyAndGame.Key; game = keyAndGame.Value; } game.AddPlayer(currentPlayer); GameRepository.UpdateAsync(gameIdentifier, game); outputBoundary.HandleResponse(new ResponseModel() { GameIdentifier = gameIdentifier }); }
public GetBasketDetailsInteractor( IBasketReadOnlyRepository basketReadOnlyRepository, IOutputBoundary <BasketOutput> outputBoundary, IOutputConverter outputConverter) { this.basketReadOnlyRepository = basketReadOnlyRepository; this.outputBoundary = outputBoundary; this.outputConverter = outputConverter; }
public GetAccountDetailsInteractor( ICustomerReadOnlyRepository customerReadOnlyRepository, IOutputBoundary <AccountResponse> outputBoundary, IResponseConverter responseConverter) { this.customerReadOnlyRepository = customerReadOnlyRepository; this.outputBoundary = outputBoundary; this.responseConverter = responseConverter; }
public Interactor( ICajuService cajuService, IOutputBoundary <RunOutput> outputBoundary, IOutputConverter outputConverter) { this.cajuService = cajuService; this.outputBoundary = outputBoundary; this.outputConverter = outputConverter; }
public RandomArticleInteractor( IArticleGateway articleGateway, ITemplateGenerator templateGenerator, IOutputBoundary outputBoundary) { this.ArticleGateway = articleGateway; this.TemplateGenerator = templateGenerator; this.OutputBoundary = outputBoundary; }
public Interactor( IOrderReadOnlyRepository orderReadOnlyRepository, IOutputBoundary <TrackingOutput> outputBoundary, IOutputConverter outputConverter) { this.orderReadOnlyRepository = orderReadOnlyRepository; this.outputBoundary = outputBoundary; this.outputConverter = outputConverter; }
public ListBooksInteractor( IBookReadOnlyRepository bookReadOnlyRepository, IOutputBoundary <ListBooksOutput> outputBoundary, IOutputConverter outputConverter) { this.bookReadOnlyRepository = bookReadOnlyRepository; this.outputBoundary = outputBoundary; this.outputConverter = outputConverter; }
public RegisterInteractor( ICustomerWriteOnlyRepository customerWriteOnlyRepository, IOutputBoundary <RegisterResponse> outputBoundary, IResponseConverter responseConverter) { this.customerWriteOnlyRepository = customerWriteOnlyRepository; this.outputBoundary = outputBoundary; this.responseConverter = responseConverter; }
public GetAccountDetailsInteractor( IAccountReadOnlyRepository accountReadOnlyRepository, IOutputBoundary <AccountOutput> outputBoundary, IOutputConverter outputConverter) { this.accountReadOnlyRepository = accountReadOnlyRepository; this.outputBoundary = outputBoundary; this.outputConverter = outputConverter; }
public DeleteInteractor( IBasketReadOnlyRepository basketReadOnlyRepository, IBasketWriteOnlyRepository basketWriteOnlyRepository, IOutputBoundary <DeleteOutput> outputBoundary, IOutputConverter outputConverter) { this.basketReadOnlyRepository = basketReadOnlyRepository; this.basketWriteOnlyRepository = basketWriteOnlyRepository; this.outputBoundary = outputBoundary; this.outputConverter = outputConverter; }
public GetCustomerDetailsInteractor( ICustomerReadOnlyRepository customerReadOnlyRepository, IAccountReadOnlyRepository accountReadOnlyRepository, IOutputBoundary <CustomerOutput> outputBoundary, IOutputConverter outputConverter) { this.customerReadOnlyRepository = customerReadOnlyRepository; this.accountReadOnlyRepository = accountReadOnlyRepository; this.outputBoundary = outputBoundary; this.outputConverter = outputConverter; }
public AddBasketInteractor( ICustomerReadOnlyRepository customerReadOnlyRepository, IBasketWriteOnlyRepository basketWriteOnlyRepository, IOutputBoundary <AddBasketOutput> outputBoundary, IOutputConverter outputConverter) { this.customerReadOnlyRepository = customerReadOnlyRepository; this.basketWriteOnlyRepository = basketWriteOnlyRepository; this.outputBoundary = outputBoundary; this.outputConverter = outputConverter; }
public CreateBookInteractor( IBookReadOnlyRepository bookReadOnlyRepository, IBookWriteOnlyRepository bookWriteOnlyRepository, IOutputBoundary <BookOutput> outputBoundary, IOutputConverter outputConverter) { this.bookReadOnlyRepository = bookReadOnlyRepository; this.bookWriteOnlyRepository = bookWriteOnlyRepository; this.outputBoundary = outputBoundary; this.outputConverter = outputConverter; }
public Interactor( IPublisher bus, IOutputBoundary <OrderOutput> outputBoundary, IOutputConverter outputConverter, ITrackingService trackingService) { this.bus = bus; this.outputBoundary = outputBoundary; this.outputConverter = outputConverter; this.trackingService = trackingService; }
public CheckoutInteractor( ICustomerReadOnlyRepository customerReadOnlyRepository, IBasketReadOnlyRepository basketReadOnlyRepository, IOutputBoundary <CheckoutOutput> outputBoundary, IOutputConverter outputConverter) { this.customerReadOnlyRepository = customerReadOnlyRepository; this.basketReadOnlyRepository = basketReadOnlyRepository; this.outputBoundary = outputBoundary; this.outputConverter = outputConverter; }
public WithdrawInteractor( ICustomerReadOnlyRepository customerReadOnlyRepository, ICustomerWriteOnlyRepository customerWriteOnlyRepository, IOutputBoundary <WithdrawResponse> outputBoundary, IResponseConverter responseConverter) { this.customerReadOnlyRepository = customerReadOnlyRepository; this.customerWriteOnlyRepository = customerWriteOnlyRepository; this.outputBoundary = outputBoundary; this.responseConverter = responseConverter; }
public RegisterInteractor( ICustomerWriteOnlyRepository customerWriteOnlyRepository, IAccountWriteOnlyRepository accountWriteOnlyRepository, IOutputBoundary <RegisterOutput> outputBoundary, IOutputConverter outputConverter) { this.customerWriteOnlyRepository = customerWriteOnlyRepository; this.accountWriteOnlyRepository = accountWriteOnlyRepository; this.outputBoundary = outputBoundary; this.outputConverter = outputConverter; }
public CloseInteractor( IAccountReadOnlyRepository accountReadOnlyRepository, IAccountWriteOnlyRepository accountWriteOnlyRepository, IOutputBoundary <CloseOutput> outputBoundary, IOutputConverter outputConverter) { this.accountReadOnlyRepository = accountReadOnlyRepository; this.accountWriteOnlyRepository = accountWriteOnlyRepository; this.outputBoundary = outputBoundary; this.outputConverter = outputConverter; }
public DepositInteractor( IAccountReadOnlyRepository accountReadOnlyRepository, IPublisher bus, IOutputBoundary <DepositOutput> outputBoundary, IOutputConverter responseConverter) { this.accountReadOnlyRepository = accountReadOnlyRepository; this.bus = bus; this.outputBoundary = outputBoundary; this.responseConverter = responseConverter; }
public RegisterInteractor( ICustomerWriteOnlyRepository customerWriteOnlyRepository, IBasketWriteOnlyRepository basketWriteOnlyRepository, IOutputBoundary <RegisterOutput> outputBoundary, IOutputConverter outputConverter) { this.customerWriteOnlyRepository = customerWriteOnlyRepository; this.basketWriteOnlyRepository = basketWriteOnlyRepository; this.outputBoundary = outputBoundary; this.outputConverter = outputConverter; }
public void HandleRequest(RequestModel requestModel, IOutputBoundary <ResponseModel> outputBoundary) { var game = gameRepository.GetGame(requestModel.GameIdentifier); game.HandleLetter(requestModel.Letter); gameRepository.SaveGame(requestModel.GameIdentifier, game); outputBoundary.HandleResponse(new ResponseModel() { Phrase = game.Phrase.Current, CurrentPlayerName = game.CurrentPlayer.Name }); }
public void HandleRequest(RequestModel requestModel, IOutputBoundary <ResponseModel> outputBoundary) { var completePhrase = phraseRepository.GetPhrase(); var game = new Game(requestModel.PlayerNames, completePhrase); var gameIdentifier = gameRepository.CreateNewGame(game); outputBoundary.HandleResponse(new ResponseModel() { GameIdentifier = gameIdentifier, Phrase = game.Phrase.Current, CurrentPlayerName = game.CurrentPlayer.Name }); }
public GetCustomerDetailsInteractor( ICustomerReadOnlyRepository customerReadOnlyRepository, IOrderReadOnlyRepository orderReadOnlyRepository, IBasketReadOnlyRepository basketReadOnlyRepository, IOutputBoundary <CustomerOutput> outputBoundary, IOutputConverter outputConverter) { this.customerReadOnlyRepository = customerReadOnlyRepository; this.orderReadOnlyRepository = orderReadOnlyRepository; this.basketReadOnlyRepository = basketReadOnlyRepository; this.outputBoundary = outputBoundary; this.outputConverter = outputConverter; }
public RegisterInteractor( ICustomerReadOnlyRepository customerReadOnlyRepository, IAccountReadOnlyRepository accountReadOnlyRepository, IPublisher bus, IOutputBoundary <RegisterOutput> outputBoundary, IOutputConverter responseConverter) { this.customerReadOnlyRepository = customerReadOnlyRepository; this.accountReadOnlyRepository = accountReadOnlyRepository; this.bus = bus; this.outputBoundary = outputBoundary; this.responseConverter = responseConverter; }
public void HandleRequestAsync(RequestModel requestModel, IOutputBoundary <ResponseModel> outputBoundary) { var game = GameRepository.ReadAsync(requestModel.GameIdentifier); game.PlayerHits(requestModel.PlayerIdentifier, requestModel.HandIdentifier); GameRepository.UpdateAsync(requestModel.GameIdentifier, game); var gameDto = MapperBlackJackGameDto.Map(game, requestModel.PlayerIdentifier); outputBoundary.HandleResponse(new ResponseModel() { Game = gameDto }); }
public RemoveBookInteractor( IBookReadOnlyRepository bookReadOnlyRepository, IBookWriteOnlyRepository bookWriteOnlyRepository, IBasketReadOnlyRepository basketReadOnlyRepository, IBasketWriteOnlyRepository basketWriteOnlyRepository, IOutputBoundary <RemoveBookOutput> outputBoundary, IOutputConverter outputConverter) { this.bookReadOnlyRepository = bookReadOnlyRepository; this.bookWriteOnlyRepository = bookWriteOnlyRepository; this.basketReadOnlyRepository = basketReadOnlyRepository; this.basketWriteOnlyRepository = basketWriteOnlyRepository; this.outputBoundary = outputBoundary; this.outputConverter = outputConverter; }
public void HandleRequest(RequestModel requestModel, IOutputBoundary <ResponseModel> outputBoundary) { var game = gameRepository.GetGame(requestModel.GameIdentifier); game.HandleGuess(requestModel.Guess); gameRepository.SaveGame(requestModel.GameIdentifier, game); var reward = game.IsOver ? game.CurrentPlayer.Money : 0; outputBoundary.HandleResponse(new ResponseModel() { Phrase = game.Phrase.Current, CurrentPlayerName = game.CurrentPlayer.Name, Reward = reward }); }
public void HandleRequestAsync(RequestModel requestModel, IOutputBoundary <ResponseModel> outputBoundary) { _ = requestModel.PlayerName ?? throw new ArgumentNullException(nameof(requestModel.PlayerName)); var identifier = IdentifierProvider.GenerateAvitar(); var player = new AvitarDto() { id = identifier, userName = requestModel.PlayerName }; AvitarRepository.CreateAsync(player); outputBoundary.HandleResponse(new ResponseModel() { AvitarIdentifier = identifier }); }
public void HandleRequest(RequestModel requestModel, IOutputBoundary <ResponseModel> outputBoundary) { var game = gameRepository.GetGame(requestModel.GameIdentifier); var circle = circleRepository.GetCircle(); var space = circle.GetSpace(randomProvider.GetRandom(0, circle.CountSpaces())); game.HandleSpace(space); gameRepository.SaveGame(requestModel.GameIdentifier, game); var resultDescription = game.RequestLetter ? game.LetterDollarAmount.Value.ToString() : space.Type.ToString(); outputBoundary.HandleResponse(new ResponseModel() { ResultDescription = resultDescription, RequestLetter = game.RequestLetter, CurrentPlayerName = game.CurrentPlayer.Name }); }
public SearchBlogPostsInteractor(ISearchBlogPostsGateway gateway, IOutputBoundary <SearchBlogPostsResponse> outputboundary) { _gateway = gateway; OutputBoundary = outputboundary; }