public IActionResult Post([FromBody] BetSlipInfo betSlipInfo)
        {
            try
            {
                if (betSlipInfo != null)
                {
                    _logger.LogInformation("API Request hit: INSERT BetSlip with Bets : ");
                    var result = _betRepository.Add(betSlipInfo);

                    if (result == betSlipInfo.Bets.Count() + 1)
                    {
                        return(Ok("{\"status\": \"Success\"}"));
                    }
                    else
                    {
                        _logger.LogInformation("API Request (INSERT BetSlip with Bets : ) not committed");
                        return(NotFound("Failed: INSERT could not commit"));
                    }
                }
                else
                {
                    _logger.LogInformation("API Request hit (INSERT BetSlip with Bets) with null entry");
                    return(BadRequest("Failed: null entry"));
                }
            }

            catch (Exception e)
            {
                _logger.LogError("API Request (INSERT BetSlip with Bets) FAILED: ", e);
                return(BadRequest(e));
            }
        }
        public int Add(BetSlipInfo entity)
        {
            using (var connection = DBService.GetSqlConnection())
            {
                var parameters = new { entity.BetSlip.TotalStake, entity.BetSlip.TotalPayout, entity.BetSlip.FinalOdds, entity.BetSlip.AccountId };

                connection.Execute("dbo.InsertBetSlip", parameters, commandType: CommandType.StoredProcedure);

                var result = 1;

                var betslipid = connection.Query <BetSlip>("dbo.GetLatestBetSlipId", commandType: CommandType.StoredProcedure).First();

                for (int i = 0; i < entity.Bets.Count(); i++)
                {
                    var parameters2 = new { betslipid.Id, entity.Bets[i].MarketId, entity.Bets[i].SportId, entity.Bets[i].Odds, entity.Bets[i].TournamentId, entity.Bets[i].Date, entity.Bets[i].EventId, entity.Bets[i].BettypeId, entity.Bets[i].Stake, entity.Bets[i].Payout };
                    connection.Execute("dbo.InsertBet", parameters2, commandType: CommandType.StoredProcedure);
                    result += 1;
                }

                return(result);
            }
        }
 public int Update(BetSlipInfo entity)
 {
     throw new NotImplementedException();
 }