public OpenRouletteResponse Execute(OpenRouletteRequest request) { var searchedRoulette = _repository.Find(id: request.RouletteId); if (searchedRoulette == null) { return(new OpenRouletteResponse("Esta ruleta no se encuentra registrada o abierta")); } switch (searchedRoulette.State) { case "Abierta": return(new OpenRouletteResponse(message: "Esta ruleta ya se encuentra abierta")); case "Cerrada": return(new OpenRouletteResponse( message: $"Ruleta {request.RouletteId} ya se encuentra cerrada. Por favor cree una nueva.")); } var roulette = new Roulette(repository: _repository) { Id = request.RouletteId }; roulette.Open(); return(new OpenRouletteResponse(message: $"Ruleta {roulette.State}")); }
public CreateRouletteResponse Execute() { var newRouletteId = (_repository.Find().Count + 1).ToString(); var newRoulette = new Roulette(_repository) { Id = newRouletteId }; _repository.Insert(newRoulette); return(new CreateRouletteResponse($"Ruleta con ID {newRouletteId} creada satisfactoriamente", newRouletteId)); }
public CloseRouletteResponse Execute(CloseRouletteRequest request) { var searchedRoulette = _repository.Find(id: request.RouletteId); if (searchedRoulette == null) { return(new CloseRouletteResponse("Esta ruleta no se encuentra registrada o abierta", null)); } if (searchedRoulette.State != "Abierta") { return(new CloseRouletteResponse(message: "Esta ruleta ya se encuentra Cerrada", winners: null)); } searchedRoulette.Repository = _repository; var winners = searchedRoulette.Close(); return(new CloseRouletteResponse(message: $"Ruleta {searchedRoulette.State}. Numero ganador: {searchedRoulette.WinnerNumber}, color ganador: {searchedRoulette.WinnerColor}", winners: winners)); }
public BetByColorResponse Execute(BetByColorRequest request, string clientId) { var searchedRoulette = _repository.Find(id: request.RouletteId); if (searchedRoulette == null) { return(new BetByColorResponse(message: "Esta ruleta no se encuentra abierta")); } if (request.Color != "Rojo" && request.Color != "Negro") { return(new BetByColorResponse(message: "Por favor ingrese un color valido")); } var bet = new BetByColor { Amount = request.Amount, Color = request.Color, ClientIdentification = clientId }; searchedRoulette.Repository = _repository; var betResult = searchedRoulette.AddBetByColor(bet); return(betResult ? new BetByColorResponse(message: $"Apuesta a color {bet.Color} por valor de ${bet.Amount} realizada satisfactoriamente") : new BetByColorResponse(message: "El valor de la apuesta debe ser un valor valido ($1 a $10.000)")); }
public SearchRouletteResponse Execute() { return(new SearchRouletteResponse(roulettes: _repository.Find())); }