public async Task <bool> DeleteStartListMember(int raceId, int skierId, int runNo) { return(await Task.Run(() => { var startlistAdo = new AdoStartListDao(connectionFactory); var raceDataAdo = new AdoRaceDataDao(connectionFactory); var racedata = raceDataAdo.FindAllBySkierId(skierId).FirstOrDefault(rd => rd.RaceId == raceId); if (!raceDataAdo.Delete(racedata)) { return false; } var race = new Race { Id = raceId }; var startList = new StartListMember { Race = race, SkierId = skierId, RunNo = runNo }; return startlistAdo.Delete(startList); })); }
public StartListController(ILogger <StartListController> logger) { _logger = logger; var connectionFactory = ConnectionFactoryHolder.getInstace().getConnectionFactory(); _adoStartListDao = new AdoStartListDao(connectionFactory); _adoRaceDataDao = new AdoRaceDataDao(connectionFactory); _adoSkierDao = new AdoSkierDao(connectionFactory); }
public async Task <bool> IsStartListMemberInStartList(int raceId, int skierId, int runNo) { return(await Task.Run(() => { var startListAdo = new AdoStartListDao(connectionFactory); StartListMember startListMemberMember = startListAdo.FindByIds(raceId, skierId, runNo); if (startListMemberMember != null) { return true; } return false; })); }
public async Task <StartListModel> GetStartListForRaceId(int raceId, int runNo) { return(await Task.Run(() => { StartList = new StartListModel(); StartList.raceId = raceId; StartList.StartListMembers = new ObservableCollection <StartListMemberModel>(); IEnumerable <Skier> skiers = new AdoSkierDao(connectionFactory).FindAll(); IEnumerable <RaceData> racedata = new AdoRaceDataDao(connectionFactory).FindAllByRaceId(raceId); if (skiers == null) { throw new NullReferenceException("No skiers found"); } IEnumerable <StartListMember> startListMembers = new AdoStartListDao(connectionFactory) .FindAllByRaceIdAndRunNo(raceId, runNo) .OrderBy(startListMember => startListMember.StartPos); foreach (var startListMember in startListMembers) { var skierdata = racedata.FirstOrDefault(data => data.SkierId == startListMember.SkierId); StartList.StartListMembers.Add( new StartListMemberModel() { Skier = new SkierModel(skiers.FirstOrDefault(skier => skier.Id == startListMember.SkierId)), Startposition = startListMember.StartPos, RunNo = startListMember.RunNo, Blocked = skierdata != null && skierdata.Blocked, Disqualified = skierdata != null && skierdata.Disqualified, Finished = skierdata != null && skierdata.Finished, Running = skierdata != null && skierdata.Running, RaceDataId = skierdata?.Id ?? 0 } ); } return StartList; })); }
private IEnumerable <RaceData> GenerateRaceDatas() { var startLists = AdoStartListDao.FindAll(); var raceDatas = new List <RaceData>(); if (startLists.Count() == 0) { throw new Exception("No StartListMember data in database to generate RaceData"); } foreach (var startList in startLists) { raceDatas.Add(new RaceData { RaceId = startList.Race.Id, SkierId = startList.SkierId, Disqualified = decideIfDisqualifiedByPercentage(DISQUALIFIED_PERCENTAGE) }); } return(raceDatas); }
public async Task <bool> UpdateStartListMemberStartPosition(int raceId, int skierId, int runNo, int startPosition) { return(await Task.Run(() => { var startlistAdo = new AdoStartListDao(connectionFactory); var race = new Race { Id = raceId }; var startList = new StartListMember { Race = race, SkierId = skierId, RunNo = runNo, StartPos = startPosition }; var result = startlistAdo.Update(startList); return result; })); }
public async Task <bool> InsertStartListMember(int raceId, int skierId, int runNo, int startPosition) { return(await Task.Run(() => { var startListAdo = new AdoStartListDao(connectionFactory); var raceDataAdo = new AdoRaceDataDao(connectionFactory); var oldRaceData = raceDataAdo.FindAllBySkierId(skierId).FirstOrDefault(rd => rd.RaceId == raceId); if (oldRaceData != null) { raceDataAdo.Delete(oldRaceData); } var newRaceData = new RaceData() { RaceId = raceId, SkierId = skierId, Blocked = true, Disqualified = false, Finished = false, Running = false }; if (raceDataAdo.Insert(newRaceData) == 0) { return false; } var race = new Race { Id = raceId }; var startListMember = new StartListMember { Race = race, SkierId = skierId, RunNo = runNo, StartPos = startPosition }; return startListAdo.Insert(startListMember) != 0; })); }
public void Setup() { configuration = ConfigurationUtil.GetConfiguration(); connectionFactory = DefaultConnectionFactory.FromConfiguration(configuration, "HuraceDbConnection"); startlistDao = new AdoStartListDao(connectionFactory); }
public RaceDataImporter(IConnectionFactory connectionFactory) { AdoRaceDataDao = new AdoRaceDataDao(connectionFactory); AdoStartListDao = new AdoStartListDao(connectionFactory); }
public StartListsImporter(IConnectionFactory connectionFactory) { adoRaceDao = new AdoRaceDao(connectionFactory); adoSkierDao = new AdoSkierDao(connectionFactory); adoStartListDao = new AdoStartListDao(connectionFactory); }