public ProgramAddition Populate(ProgramAddition programChanges, RaceDayKey raceDay, BetTypeCode product) { if (product.IsVGame()) { PopulateVxyStatistics(programChanges, raceDay, product); } else if (product == BetTypeCode.DD) { PopulateDdStatistics(programChanges, raceDay, product); } return(programChanges); }
private void PopulateVxyStatistics(ProgramAddition programChanges, RaceDayKey raceDay, BetTypeCode product) { IList <int> raceNumbers = _raceDayServiceGateway.GetRaceNumbersForPool(raceDay, product); IList <RaceInvestmentDistribution> raceInvestmentDistributions = _raceDayServiceGateway.GetInvestmentDistribution(raceDay, product); foreach (var raceNumber in raceNumbers) { IList <WinOdds> winOddses = _raceDayServiceGateway.GetWinOdds(raceDay, raceNumber); programChanges.RaceBetStatistics.Add(new RaceBetStatistics { RaceNumber = raceNumber, OddsAndInvestment = CreateStartBetStatistics(winOddses, raceInvestmentDistributions.SingleOrDefault(r => r.RaceNumber == raceNumber)) }); } }
private void PopulateDdStatistics(ProgramAddition programChanges, RaceDayKey raceDay, BetTypeCode product) { IList <int> raceNumbers = _raceDayServiceGateway.GetRaceNumbersForPool(raceDay, product); foreach (var raceNumber in raceNumbers) { IList <WinOdds> winOdds = _raceDayServiceGateway.GetWinOdds(raceDay, raceNumber); IList <PlaceOdds> placeOdds = _raceDayServiceGateway.GetPlaceOdds(raceDay, raceNumber); programChanges.RaceBetStatistics.Add(new RaceBetStatistics { RaceNumber = raceNumber, OddsAndInvestment = CreateStartBetStatistics(winOdds, placeOdds) }); } }