Esempio n. 1
0
        public WhenOddsAreSuccessfullyMatched_UpdateFixture()
        {
            int homeTeamId  = 111;
            int awayTeamId  = homeTeamId + 1;
            var competition = new Core.Models.Betfair.Response.Competition {
                Id = "123456789", Name = "competition"
            };
            var homeTeam = new Core.Models.Betfair.Response.Team {
                Name = "homeTeam", Odds = 1.5m, SelectionId = "homeSelection", Metadata = new Metadata {
                    Id = homeTeamId.ToString()
                }
            };
            var awayTeam = new Core.Models.Betfair.Response.Team {
                Name = "awayTeam", Odds = 5m, SelectionId = "awaySelection", Metadata = new Metadata {
                    Id = awayTeamId.ToString()
                }
            };
            DateTime matchStart = DateTime.UtcNow.AddDays(2);
            var      market     = new Market
            {
                Id          = "marketId",
                Competition = competition,
                Name        = "market",
                StartTime   = matchStart,
                Teams       = new[] { homeTeam, awayTeam }
            };

            _matchOdds    = MatchOdds.From(market);
            _oddsReturned = new[] { _matchOdds };
            _fixture      = new Fixture
            {
                Date          = matchStart,
                CompetitionId = 1,
                Competition   = new Core.Data.Models.Competition {
                    BookieId = 123456789
                },
                //HomeTeamId = homeTeamId,
                HomeTeam = new Core.Data.Models.Team {
                    BookieName = "homeTeam"
                },
                //AwayTeamId = awayTeamId,
                AwayTeam = new Core.Data.Models.Team {
                    BookieName = "homeTeam"
                }
            };
            _fixturesReturned = new[] { _fixture };

            _oddsMatcher = new OddsMatcher(this, this, this);
            _oddsMatcher.Synchronise().Wait();
        }
        private MatchOdds CreateOddsFrom(
            Fixture fixture,
            int?competitionId      = null,
            string competitionName = null,
            int?homeTeamId         = null,
            string homeTeamName    = null,
            int?awayTeamId         = null,
            string awayTeamName    = null,
            DateTime?date          = null)
        {
            int    resolvedCompetitionId   = competitionId ?? fixture.CompetitionId;
            string resolvedCompetitionName = competitionName ?? fixture.Competition.Name;
            int    resolvedHomeTeamId      = homeTeamId ?? fixture.HomeTeamId;
            string resolvedHomeTeamName    = homeTeamName ?? fixture.HomeTeam.BookieName;
            int    resolvedAwayTeamId      = awayTeamId ?? fixture.AwayTeamId;
            string resolvedAwayTeamName    = awayTeamName ?? fixture.AwayTeam.BookieName;
            var    resolvedDate            = date ?? fixture.Date;

            var homeTeam = new Core.Models.Betfair.Response.Team {
                Name = resolvedHomeTeamName, Odds = 1.5m, SelectionId = "homeSelection", Metadata = new Metadata {
                    Id = resolvedHomeTeamId.ToString()
                }
            };
            var awayTeam = new Core.Models.Betfair.Response.Team {
                Name = resolvedAwayTeamName, Odds = 5m, SelectionId = "awaySelection", Metadata = new Metadata {
                    Id = resolvedAwayTeamId.ToString()
                }
            };
            var competition = new Core.Models.Betfair.Response.Competition {
                Id = resolvedCompetitionId.ToString(), Name = resolvedCompetitionName
            };

            return(MatchOdds.From(new Market {
                Id = $"marketId{_randomiser.Next(1, 1000)}", StartTime = resolvedDate, Competition = competition, Teams = new[] { homeTeam, awayTeam }
            }));
        }