51 lines
2.0 KiB
C#
51 lines
2.0 KiB
C#
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
|
|
});
|
|
}
|
|
}
|
|
}
|