예제 #1
0
        public async Task <ICollection <SplitTimeModel> > GetSplittimesForSkier(int skierId, int runNo)
        {
            return(await Task.Run(() =>
            {
                var raceDatas = new AdoRaceDataDao(connectionFactory).FindAllBySkierId(skierId);
                raceDataForThisRaceRun = raceDatas.FirstOrDefault(data => data.RaceId == RaceControlModel.StartListModel.raceId);

                ActualSplitimes = new ObservableCollection <SplitTimeModel>();

                if (raceDataForThisRaceRun != null)
                {
                    var splittimes = new AdoSplitTimeDao(connectionFactory).FindByRaceDataId(raceDataForThisRaceRun.Id).Where(splittime => splittime.RunNo == runNo);

                    EvaluateWinnerSplittimes();

                    foreach (var splittime in splittimes)
                    {
                        ActualSplitimes.Add(new SplitTimeModel
                        {
                            RaceDataId = splittime.RaceDataId,
                            RunNo = splittime.RunNo,
                            SplitTimeNo = splittime.SplittimeNo,
                            Time = splittime.Time,
                            TimeOffsetToWinner = GetTimeOffsetToWinner(splittime.Time, splittime.SplittimeNo)
                        });
                    }
                }

                return ActualSplitimes;
            }));
        }
예제 #2
0
        public SplitTimesController(ILogger <StartListController> logger)
        {
            _logger = logger;
            var connectionFactory = ConnectionFactoryHolder.getInstace().getConnectionFactory();

            _adoSplitTimeDao = new AdoSplitTimeDao(connectionFactory);
            _adoRaceDataDao  = new AdoRaceDataDao(connectionFactory);
        }
예제 #3
0
 public void Setup()
 {
     configuration     = ConfigurationUtil.GetConfiguration();
     connectionFactory = DefaultConnectionFactory.FromConfiguration(configuration, "HuraceDbConnection");
     splitTimeDao      = new AdoSplitTimeDao(connectionFactory);
 }