コード例 #1
0
        private static void SegregarCompetidores(List <List <RegistroCorrida> > pilotos, out List <ResultadoCorrida> incompletos, out List <ResultadoCorrida> completos)
        {
            incompletos = new List <ResultadoCorrida>();
            completos   = new List <ResultadoCorrida>();
            foreach (var piloto in pilotos)
            {
                if (piloto.Count > numeroVoltasCorrida)
                {
                    _mensagemErro = "Formato Incorreto! O piloto: " + piloto[0].NomePiloto + " Possui número de voltas além do permitido";
                    throw new Exception();
                }


                ResultadoCorrida resultado = new ResultadoCorrida();

                if (piloto.Count() < numeroVoltasCorrida)
                {
                    resultado.NomePiloto           = piloto[0].NomePiloto;
                    resultado.CodigoPiloto         = piloto[0].NumeroPiloto;
                    resultado.QtdVoltasCompletadas = piloto.Count();
                    resultado.TempoTotalProva      = new TimeSpan(piloto.Sum(p => p.TempoVolta.Ticks)).ToString();
                    incompletos.Add(resultado);

                    break;
                }

                resultado.NomePiloto           = piloto[0].NomePiloto;
                resultado.CodigoPiloto         = piloto[0].NumeroPiloto;
                resultado.QtdVoltasCompletadas = piloto.Count();
                resultado.TempoTotalProva      = new TimeSpan(piloto.Sum(p => p.TempoVolta.Ticks)).ToString();

                completos.Add(resultado);
            }
        }
コード例 #2
0
        public List <ResultadoCorrida> ObterEstatisticas()
        {
            List <ResultadoCorrida> resultado        = new List <ResultadoCorrida>();
            ResultadoCorrida        resultadoCorrida = new ResultadoCorrida();
            var melhorVoltaProva = _resultadoCorridaPiloto.OrderBy(r => r.MelhorVolta).FirstOrDefault();

            resultadoCorrida.CodigoPiloto     = melhorVoltaProva.CodigoPiloto;
            resultadoCorrida.NomePiloto       = melhorVoltaProva.NomePiloto;
            resultadoCorrida.MelhorVoltaProva = melhorVoltaProva.MelhorVolta;
            resultado.Add(resultadoCorrida);
            return(resultado);
        }