Beispiel #1
0
        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));
            }
        }
Beispiel #2
0
        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);
        }
Beispiel #4
0
        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));
        }
Beispiel #6
0
        public RouletteDto[] GetRoulettes()
        {
            RouletteDto[] roulettes = null;
            if (rouletteDtos.Count > 0)
            {
                roulettes = new RouletteDto[rouletteDtos.Count];
                rouletteDtos.CopyTo(roulettes);
            }

            return(roulettes);
        }
Beispiel #7
0
        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);
        }
Beispiel #8
0
        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 }));
            }
        }
Beispiel #9
0
        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));
            }
        }
Beispiel #10
0
        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);
        }
Beispiel #11
0
        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);
        }
Beispiel #12
0
        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));
            }
        }
Beispiel #13
0
        public RouletteDto Get(int rouletteId)
        {
            RouletteDto roulette = BusinessWebApi.GetInstance().GetRoulette(rouletteId);

            return(roulette);
        }
Beispiel #14
0
        public RouletteDto GetRoulette(int rouletteId)
        {
            RouletteDto roulette = rouletteDtos.Find(r => r.RouletteId == rouletteId);

            return(roulette);
        }
Beispiel #15
0
 public void Remove(RouletteDto rouletteIn) =>
 _roulettes.DeleteOne(roulette => roulette.Id == rouletteIn.Id);
Beispiel #16
0
 public RouletteDto Create(RouletteDto roulette)
 {
     _roulettes.InsertOne(roulette);
     return(roulette);
 }
Beispiel #17
0
 public void Update(string id, RouletteDto rouletteIn) =>
 _roulettes.ReplaceOne(roulette => roulette.Id == id, rouletteIn);