public IActionResult Open([FromRoute(Name = "id")] string id) { try { RouletteDto RouletteDto = _rouletteService.Get(id); if (RouletteDto == null) { return(NotFound()); } if (RouletteDto.Active) { return(BadRequest(new { error = false, msg = "RC004" })); } RouletteDto.Active = true; _rouletteService.Update(id, RouletteDto); return(Ok(RouletteDto.Active)); } catch (Exception ex) { return(BadRequest(ex.Message)); } }
public ActionResult <List <BetsDto> > Close([FromRoute(Name = "id")] string id) { try { RouletteDto RouletteDto = _rouletteService.Get(id); if (RouletteDto == null) { return(NotFound()); } if (!RouletteDto.Active) { return(BadRequest(new { error = true, msg = "RC001" })); } RouletteDto.Active = false; RouletteDto.ClosedDate = DateTime.Now.Date; _rouletteService.Update(id, RouletteDto); List <BetsDto> best = _betsService.GetBestInRoulette(RouletteDto.Id); return(Ok(best)); } catch (Exception e) { Console.WriteLine(e); return(StatusCode(405)); } }
public RouletteDto CloseRoulette(RouletteClosePayload payload) { var roulette = GetRouletteById(payload.Id); if (roulette == null) { return(new RouletteDto()); } roulette.Status = false; roulette.CloseDate = DateTime.UtcNow; var roulettes = GetRoulettes(); var indexOf = roulettes.IndexOf(roulettes.Find(p => p.Id == payload.Id)); roulettes[indexOf] = roulette; var roulettesJson = JsonSerializer.Serialize(roulettes); var result = _redisRepository.Set(_rouletteKey, roulettesJson); var rouletteData = new RouletteDto { Id = roulette.Id, Status = roulette.Status, OpenDate = roulette.OpenDate, CloseDate = roulette.CloseDate, RouletteBets = GetRouletteBetsByRouletteId(roulette.Id) }; return(rouletteData); }
public int CreateNewRoulette() { RouletteDto rouletteDto = new RouletteDto(); rouletteDtos.Add(rouletteDto); return(rouletteDto.RouletteId); }
public async Task <IActionResult> InsertRoulette(RouletteDto rouletteDto) { var roulette = _mapper.Map <Roulette>(rouletteDto); await _rouletteService.InsertRoulette(roulette); rouletteDto = _mapper.Map <RouletteDto>(roulette); var response = new ApiResponses <int>(rouletteDto.id_roulette); return(Ok(response)); }
public RouletteDto[] GetRoulettes() { RouletteDto[] roulettes = null; if (rouletteDtos.Count > 0) { roulettes = new RouletteDto[rouletteDtos.Count]; rouletteDtos.CopyTo(roulettes); } return(roulettes); }
public bool OpenRoulette(int rouletteId) { RouletteDto rouletteDto = rouletteDtos.Where(r => r.RouletteId == rouletteId).FirstOrDefault(); if (rouletteDto == null) { return(false); } rouletteDto.Status = Entities.Dto.Status.OPEN; return(true); }
public async Task <IActionResult> CreateRoulette(RouletteDto rouletteDto) { try { Roulette roulette = _mapper.Map <Roulette>(source: rouletteDto); await this._rouletteService.PostRouletteAsync(roulette : roulette); return(Ok(roulette.Id)); } catch (Exception ex) { return(BadRequest(new { message = "No se pudo crear la ruleta.", ex = ex })); } }
public IActionResult Bet([FromHeader(Name = "userId")] string userId, [FromRoute(Name = "id")] string id, BetsDto bet) { try { if (bet.BetValue > double.Parse(Configuration["BetMax"]) || bet.BetValue < 1) { return(BadRequest(new { error = true, msg = "RC002" })); } if (bet.BetType == BetTypeEnumerable.Position && (bet.Position == null || bet.Color != null)) { return(BadRequest(new { error = true, msg = "RC003" })); } if (bet.BetType == BetTypeEnumerable.Color && (bet.Position != null || bet.Color == null)) { return(BadRequest(new { error = true, msg = "RC003" })); } RouletteDto roulette = _rouletteService.Get(id); if (roulette == null || !roulette.Active) { return(BadRequest(new { error = true, msg = "RC001" })); } bet.BetDate = DateTime.Now.Date; bet.IdUser = userId; bet.IdRoulette = roulette.Id; _betsService.Create(bet); return(Ok()); } catch (Exception ex) { return(BadRequest(ex.Message)); } }
public bool CloseRoulette(int rouletteId, out IEnumerable <BetDto> _betDtos) { RouletteDto rouletteDto = rouletteDtos.Where(r => r.RouletteId == rouletteId).FirstOrDefault(); if (rouletteDto == null) { _betDtos = null; return(false); } rouletteDto.Status = Entities.Dto.Status.CLOSED; _betDtos = betDtos.Where(b => b.RouletteId == rouletteId).ToList(); //betDtos.RemoveAll(b => b.RouletteId == rouletteId); return(true); }
private bool MakeBet(int rouletteId, int userId, decimal money, bool byNumber, byte number, Entities.Dto.Color color) { RouletteDto rouletteDto = rouletteDtos.Find(r => r.RouletteId == rouletteId); UserDto userDto = userDtos.Find(u => u.UserId == userId); if (rouletteDto == null || rouletteDto.Status == Entities.Dto.Status.CLOSED || userDto == null) { return(false); } BetDto betDto = BetDtoFactory.FactoryMethod(rouletteId, userId, money, byNumber ? BetBy.NUMBER : BetBy.COLOR, number, color); betDtos.Add(betDto); return(true); }
public ActionResult <string> Create() { try { RouletteDto roulette = new RouletteDto() { Id = ObjectId.GenerateNewId().ToString(), Active = false, OpenedDate = DateTime.Now.Date, ClosedDate = null, Name = "Roulette" }; roulette = _rouletteService.Create(roulette); return(Ok(roulette.Id)); } catch (Exception ex) { return(BadRequest(ex.Message)); } }
public RouletteDto Get(int rouletteId) { RouletteDto roulette = BusinessWebApi.GetInstance().GetRoulette(rouletteId); return(roulette); }
public RouletteDto GetRoulette(int rouletteId) { RouletteDto roulette = rouletteDtos.Find(r => r.RouletteId == rouletteId); return(roulette); }
public void Remove(RouletteDto rouletteIn) => _roulettes.DeleteOne(roulette => roulette.Id == rouletteIn.Id);
public RouletteDto Create(RouletteDto roulette) { _roulettes.InsertOne(roulette); return(roulette); }
public void Update(string id, RouletteDto rouletteIn) => _roulettes.ReplaceOne(roulette => roulette.Id == id, rouletteIn);