コード例 #1
0
 public void ComenzarVotacion()
 {
     if (Candidatos.Count > 1)
     {
         Console.WriteLine("Bienvenido al sistema de votacion...");
         Console.WriteLine("Las siguientes comunas son las registradas: ");
         foreach (var comuna in Comunas)
         {
             Console.WriteLine($"{Comunas.IndexOf(comuna)}. {comuna.NombreComuna}.");
         }
         Console.WriteLine("Si su comuna no se encuentra registrada por favor comuniquese con el asesor");
         Console.WriteLine("Ingrese el número de su comuna");
         string res = Console.ReadLine();
         //Si se escribe el comando "salir" se dejarán de tomar votos, cerrando la votacion
         if (!res.Equals("salir"))
         {
             int numero;
             while (!int.TryParse(res, out numero) || (Comunas[numero] == null))
             {
                 Console.WriteLine("Valor no reconocido.");
                 Console.WriteLine("Ingrese el numero de la comuna:");
                 res = Console.ReadLine();
             }
             Comuna comunaSeleccionada = Comunas[numero];
             Console.WriteLine("Candidatos actuales:");
             foreach (var candidato in Candidatos)
             {
                 Console.WriteLine($"{candidato.NumeroCandidato}. {candidato.NombreCandidato}");
             }
             Console.WriteLine("Ingrese el numero del candidato por el cual desea votar:");
             res = Console.ReadLine();
             int numeroCandidato;
             while (!int.TryParse(res, out numeroCandidato) && !Candidatos.Select(x => x.NumeroCandidato).Contains(numeroCandidato))
             {
                 Console.WriteLine("Valor no reconocido.");
                 Console.WriteLine("Ingrese el numero del candidato:");
                 res = Console.ReadLine();
             }
             Candidato candidatoRegistrado = Candidatos.FirstOrDefault(x => x.NumeroCandidato == numeroCandidato);
             if (comunaSeleccionada.Votos.FirstOrDefault(x => x.NumeroCandidato == numeroCandidato) is VotoCandidato votoCandidato)
             {
                 votoCandidato.CantidadVotos += 1;
             }
             else
             {
                 comunaSeleccionada.Votos.Add(new VotoCandidato(candidatoRegistrado.NumeroCandidato));
             }
             Console.WriteLine("Gracias por su voto, el sistema recibirá una nueva votacion en 5 segundos");
             Thread.Sleep(5000);
             Console.Clear();
             ComenzarVotacion();
         }
         else
         {
             TerminarVotacion();
         }
     }
     else
     {
         Console.WriteLine("No existen candidatos registrados, por favor registre mínimo 2");
         Thread.Sleep(2000);
         Console.Clear();
         RegistrarCandidatos();
     }
 }
コード例 #2
0
 public Votacion()
 {
     Comunas = Comuna.SeedComuna();
 }