Exemplo n.º 1
0
        public async Task <ActionResult <BaseResponse <BetResponse> > > Bet(BetRequest request)
        {
            BetAppRequest data = new BetAppRequest {
                bet    = request,
                idUser = Convert.ToInt32(HttpContext.User.FindFirst("idPerson").Value)
            };
            BaseResponse <BetResponse> response = await _rouletteService.Bet(data);

            if (!string.IsNullOrEmpty(response.message))
            {
                return(BadRequest(response));
            }
            return(Ok(response));
        }
Exemplo n.º 2
0
        public async Task <BaseResponse <BetResponse> > Bet(BetAppRequest request)
        {
            try
            {
                if (await DbContex.VRoulette(request.bet.idRolette))
                {
                    int Money = await DbContex.GetMoney(request.idUser);

                    if (request.bet.BetValue <= 10000 && request.bet.BetValue <= Money)
                    {
                        Money -= request.bet.BetValue;
                        DbContex.addMoney(request.idUser, Money);
                        Random rnd  = new Random();
                        int    numb = rnd.Next(36);
                        if (!string.IsNullOrEmpty(request.bet.Color))
                        {
                            if (numb % 2 == 0)
                            {
                                if (request.bet.Color == "red")
                                {
                                    DbContex.addBet(request.bet.idRolette, request.bet.BetValue);
                                    Money += (2 * request.bet.BetValue);
                                    DbContex.addMoney(request.idUser, Money);
                                    return(new BaseResponse <BetResponse> {
                                        Reponse = new BetResponse {
                                            Win = true
                                        }
                                    });
                                }
                                else if (request.bet.Color == "black")
                                {
                                    DbContex.addBet(request.bet.idRolette, request.bet.BetValue);
                                    return(new BaseResponse <BetResponse> {
                                        Reponse = new BetResponse {
                                            Win = false
                                        }
                                    });
                                }
                                else
                                {
                                    Money += request.bet.BetValue;
                                    DbContex.addMoney(request.idUser, Money);
                                    return(new BaseResponse <BetResponse> {
                                        Reponse = null, message = "Color not validated"
                                    });
                                }
                            }
                            else
                            {
                                if (request.bet.Color == "black")
                                {
                                    DbContex.addBet(request.bet.idRolette, request.bet.BetValue);
                                    Money += (2 * request.bet.BetValue);
                                    DbContex.addMoney(request.idUser, Money);
                                    return(new BaseResponse <BetResponse> {
                                        Reponse = new BetResponse {
                                            Win = true
                                        }
                                    });
                                }
                                else if (request.bet.Color == "red")
                                {
                                    DbContex.addBet(request.bet.idRolette, request.bet.BetValue);
                                    return(new BaseResponse <BetResponse> {
                                        Reponse = new BetResponse {
                                            Win = false
                                        }
                                    });
                                }
                                else
                                {
                                    Money += request.bet.BetValue;
                                    DbContex.addMoney(request.idUser, Money);
                                    return(new BaseResponse <BetResponse> {
                                        Reponse = null, message = "Color not validated"
                                    });
                                }
                            }
                        }
                        if (!string.IsNullOrEmpty(request.bet.Number))
                        {
                            if (Convert.ToInt32(request.bet.Number) <= 36 && Convert.ToInt32(request.bet.Number) >= 0)
                            {
                                if (Convert.ToInt32(request.bet.Number) == numb)
                                {
                                    Money += (35 * request.bet.BetValue);
                                    DbContex.addMoney(request.idUser, Money);
                                    return(new BaseResponse <BetResponse> {
                                        Reponse = new BetResponse {
                                            Win = true
                                        }
                                    });
                                }
                                else
                                {
                                    DbContex.addBet(request.bet.idRolette, request.bet.BetValue);
                                    return(new BaseResponse <BetResponse> {
                                        Reponse = new BetResponse {
                                            Win = false
                                        }
                                    });
                                }
                            }
                            else
                            {
                                Money += request.bet.BetValue;
                                DbContex.addMoney(request.idUser, Money);
                                return(new BaseResponse <BetResponse> {
                                    Reponse = null, message = "Number not validated"
                                });
                            }
                        }
                        Money += request.bet.BetValue;
                        DbContex.addMoney(request.idUser, Money);
                        return(new BaseResponse <BetResponse> {
                            Reponse = null, message = "No bet"
                        });
                    }
                    else
                    {
                        return new BaseResponse <BetResponse> {
                                   Reponse = null, message = "Value of bet not validated"
                        }
                    };
                }
                else
                {
                    return new BaseResponse <BetResponse> {
                               Reponse = null, message = "Rolette close"
                    }
                };
            }
            catch (Exception ex)
            {
                return(new BaseResponse <BetResponse> {
                    Reponse = null, message = "ERROR: " + ex.Message
                });
            }
        }