示例#1
0
        /// <summary>
        /// Metoda, ktora vrati vysledok na zaklade posledneho odbehnuteho kola
        /// </summary>
        /// <param name="highestFinishedRound">posledne/najvyssie odbehnute kolo</param>
        /// <returns>vysledok</returns>
        public Result GetResult(FinishedRound highestFinishedRound)
        {
            Result result = new Result
            {
                LastFinishedRound = highestFinishedRound.FinishedRoundNumber,
                RacerNumber       = highestFinishedRound.RacerNumber,
                RacerName         = highestFinishedRound.RacerName,
                ResultTime        = highestFinishedRound.FinishedRoundTime - RaceStartTime
            };

            return(result);
        }
示例#2
0
        /// <summary>
        /// Metoda, ktora vrati info, ci pretekar odbehol uz vyssie kolo
        /// </summary>
        /// <param name="finishedRound">odbehnute kolo</param>
        /// <returns>true alebo false</returns>
        public bool HasRacerFinishedHigherRound(FinishedRound finishedRound)
        {
            Result result = Results.FirstOrDefault(r => r.RacerNumber == finishedRound.RacerNumber);

            if (result == null)
            {
                return(false);
            }
            else
            {
                return(true);
            }
        }
示例#3
0
        /// <summary>
        /// Metoda, ktora zaznamena odbehnute kolo
        /// </summary>
        /// <param name="racerNumber">startovacie cislo pretekara</param>
        public void RegisterFinishedRound(int racerNumber, RacerRepository racerRepository)
        {
            FinishedRound finishedRound = new FinishedRound();

            finishedRound.FinishedRoundTime = DateTime.Now;
            int lastFinishedRoundNumber = GetHighestRacersFinishedRound(racerNumber);

            finishedRound.FinishedRoundNumber = ++lastFinishedRoundNumber;
            finishedRound.RacerNumber         = racerNumber;
            finishedRound.RacerName           = GetRacerNameByStartNumber(racerNumber, racerRepository);
            finishedRound.RoundTime           = finishedRound.FinishedRoundTime - RaceStartTime;

            FinishedRounds.Add(finishedRound);
            RefreshResults();
        }