Esempio n. 1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="sportId"></param>
        /// <param name="leagueId"></param>
        /// <param name="eventId"></param>
        /// <param name="periodNumber">0 for sports other than soccer, soccer: 0 = Game, 1 = 1st Half, 2 = 2nd Half</param>
        /// <param name="betType"></param>
        /// <param name="oddsFormat"></param>
        /// <param name="team"></param>
        /// <param name="side"></param>
        /// <param name="handicap"></param>
        /// <returns></returns>
        public Task <GetLineResponse> GetLine(int sportId, int leagueId, long eventId, int periodNumber, BetType betType,
                                              OddsFormat oddsFormat,
                                              TeamType?team = null, SideType?side = null, decimal?handicap = null)
        {
            if (team == null)
            {
                if (betType == BetType.Moneyline || betType == BetType.Spread || betType == BetType.Team_Total_Points)
                {
                    throw new Exception($"TeamType is required for {betType} Bets!");
                }
            }

            if (side == null)
            {
                if (betType == BetType.Total_Points || betType == BetType.Team_Total_Points)
                {
                    throw new Exception($"SideType is required for {betType} Bets!");
                }
            }

            if (handicap == null)
            {
                if (betType == BetType.Spread || betType == BetType.Total_Points || betType == BetType.Team_Total_Points)
                {
                    throw new Exception($"Handicap is required for {betType} Bets!");
                }
            }

            // get request uri
            var sb = new StringBuilder();

            sb.Append($"v1/line?sportId={sportId}");
            sb.Append($"&leagueId={leagueId}");
            sb.Append($"&eventId={eventId}");
            sb.Append($"&betType={betType.ToString().ToUpper()}");
            sb.Append($"&oddsFormat={oddsFormat.ToString().ToUpper()}");
            sb.Append($"&periodNumber={periodNumber}"); // i.e. for soccer: 0 = Game, 1 = 1st Half, 2 = 2nd Half

            if (team != null)
            {
                sb.Append($"&team={team.ToString().ToUpper()}");
            }

            if (side != null)
            {
                sb.Append($"&side={side.ToString().ToUpper()}");
            }

            if (handicap != null)
            {
                sb.Append($"&handicap={handicap.ToString().ToUpper()}");
            }

            var uri = sb.ToString();

            return(GetJsonAsync <GetLineResponse>(uri));
        }
Esempio n. 2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="sportId"></param>
        /// <param name="leagueId"></param>
        /// <param name="eventId"></param>
        /// <param name="periodNumber">0 for sports other than soccer, soccer: 0 = Game, 1 = 1st Half, 2 = 2nd Half</param>
        /// <param name="betType"></param>
        /// <param name="oddsFormat"></param>
        /// <param name="team"></param>
        /// <param name="side"></param>
        /// <param name="handicap"></param>
        /// <returns></returns>
        public Task <GetLineResponse> GetLine(int sportId, int leagueId, long eventId, int periodNumber, BetType betType, OddsFormat oddsFormat,
                                              TeamType?team = null, SideType?side = null, decimal?handicap = null)
        {
            if (team == null)
            {
                if (betType == BetType.MoneyLine || betType == BetType.Spread || betType == BetType.TeamTotalPoints)
                {
                    throw new Exception(string.Format("TeamType is required for {0} Bets!", betType));
                }
            }

            if (side == null)
            {
                if (betType == BetType.TotalPoints || betType == BetType.TeamTotalPoints)
                {
                    throw new Exception(string.Format("SideType is required for {0} Bets!", betType));
                }
            }

            if (handicap == null)
            {
                if (betType == BetType.Spread || betType == BetType.TotalPoints || betType == BetType.TeamTotalPoints)
                {
                    throw new Exception(string.Format("Handicap is required for {0} Bets!", betType));
                }
            }

            // get request uri
            var sb = new StringBuilder();

            sb.AppendFormat("v1/line?sportId={0}", sportId);
            sb.AppendFormat("&leagueId={0}", leagueId);
            sb.AppendFormat("&eventId={0}", eventId);
            sb.AppendFormat("&betType={0}", betType.ToString().ToUpper());
            sb.AppendFormat("&oddsFormat={0}", oddsFormat.ToString().ToUpper());
            sb.AppendFormat("&periodNumber={0}", periodNumber);                 // i.e. for soccer: 0 = Game, 1 = 1st Half, 2 = 2nd Half

            if (team != null)
            {
                sb.AppendFormat("&team={0}", team.ToString().ToUpper());
            }

            if (side != null)
            {
                sb.AppendFormat("&side={0}", side.ToString().ToUpper());
            }

            if (handicap != null)
            {
                sb.AppendFormat("&handicap={0}", handicap.ToString().ToUpper());
            }

            var uri = sb.ToString();

            return(JsonGetAsync <GetLineResponse>(uri));
        }
 public StraightLineRequest(int sportId, int leagueId, long eventId, int period, OddsFormat format, BetType betType, decimal?handicap = null, TeamType?team = null, SideType?side = null)
 {
     SportId      = sportId;
     LeagueId     = leagueId;
     EventId      = eventId;
     PeriodNumber = period;
     OddsFormat   = format.ToString();
     BetType      = betType.ToString();
     Handicap     = handicap;
     Team         = team == null ? null : team.ToString();
     Side         = side == null ? null : side.ToString();
 }