using BritishHorseRacingApi.Models; using AutoBet.DataRecorded.PreRaceRunnerCollector; using SwiftyMessageHub.Core; using System.Threading.Tasks; using System; namespace AutoBet.DataRecorded.PreRaceDataRecorder { public class PreRaceDataRecorderController : MessageController { [MessageRoute] public async Task CollectPreRaceData(Race details) { Console.WriteLine($"Saving race id {details.RaceId}"); using (var db = new Db.HorseRacingDataContext()) { db.Races.Add(new Db.Race() { DistanceChangeText = details.DistanceChangeText, BlackTypeRace = details.BlackTypeRace, AbandonedReasonCode = details.AbandonedReasonCode, RaceCriteriaRaceType = details.RaceCriteriaRaceType, DistanceChange = details.DistanceChange, DistanceText = details.DistanceText, DistanceValue = details.DistanceValue, DistanceUnits = details.DistanceUnits, RawDistanceText = details.RawDistanceText, RatingBand = details.RatingBand, RaceClass = details.RaceClass, PrizeCurrency = details.PrizeCurrency, PrizeAmount = details.PrizeAmount, AgeLimit = details.AgeLimit, RaceName = details.RaceName, RaceTime = details.RaceTime, RaceDate = details.RaceDate, DivisionSequence = details.DivisionSequence, YearOfRace = details.YearOfRace, RaceId = details.RaceId, Plus10 = details.Plus10, }); await db.SaveChangesAsync(); } await CurrentContext.Hub.SendMessage(new PreRaceRunnerCollectDetails() { DateToCollect = details.RaceDate, RaceId = details.RaceId }); } } }