//completo static void addprova(List <prova> provas, List <participante> participantes) { if (participantes.Count != 0) { bool provaNaoExiste = false; string idprova = ""; if (provas.Count != 0) { Console.WriteLine("Id da prova? (Ex: PROG_JAVA_3)"); idprova = Console.ReadLine(); provaNaoExiste = false; foreach (prova t in provas) { if (t.idnome.CompareTo(idprova) == 0) { Console.WriteLine("Adicionar participantes à prova {0}:", t.idnome); addParticipantesToProva(t, participantes); } else { provaNaoExiste = true; } } } if (provas.Count == 0 || provaNaoExiste) { if (provaNaoExiste) { Console.WriteLine("Prova ainda nao existe, vamos criar!"); } else if (provas.Count == 0) { Console.WriteLine("Aidna não existem provas, vamos criar a primeira!"); } if (provas.Count == 0) { Console.WriteLine("\nId da prova? (Ex: PROG_JAVA_3)"); idprova = Console.ReadLine(); } Console.WriteLine("Descrição da prova?"); string desc = Console.ReadLine(); prova novaProva = new prova(idprova, desc); provas.Add(novaProva); addParticipantesToProva(novaProva, participantes); } } else { Console.WriteLine("Não pode criar provas: Não existem participantes!"); Console.ReadKey(); } }
//completo static void addParticipantesToProva(prova pro, List <participante> participantes) { int num = 0; do { Console.WriteLine("Participantes a inserir:"); num = int.Parse(Console.ReadLine()); if (num > participantes.Count) { Console.WriteLine("Erro: Apenas existem {0} participantes!", participantes.Count); } } while (num <= 0 || num > participantes.Count); for (int i = 0; i < num; i++) { bool participanteExiste = false; do { Console.WriteLine("Insira o bi do participante"); int bi = int.Parse(Console.ReadLine()); foreach (participante p in participantes) { if (bi == p.id) { participanteExiste = true; if (!pro.listap.ContainsKey(p)) { pro.insereParticipante(p); } else { Console.WriteLine("Participante já está inscrito nesta prova!"); Console.ReadKey(); } } } if (!participanteExiste) { Console.WriteLine("Participante não existe!"); } } while (!participanteExiste); } }
//completo static void removeParticipanteDaProva(List <prova> provas, List <participante> participantes) { if (provas.Count != 0 || participantes.Count != 0) { int count = 1; foreach (prova pro in provas) { Console.WriteLine("[{0}] - {1}", count, pro.idnome); count++; } int op = int.Parse(Console.ReadLine()); if (provas.Contains(provas[op - 1])) { count = 1; prova pro = provas[op - 1]; if (pro.listap.Count != 0) { foreach (KeyValuePair <participante, float> par in pro.listap) { Console.WriteLine("[{0}] - {1}", count, par.Key.nome); count++; } int op2 = int.Parse(Console.ReadLine()); count = 1; participante part = null; foreach (KeyValuePair <participante, float> par in pro.listap) { if (count == op2) { part = par.Key; } count++; } if (pro.listap.ContainsKey(part)) { pro.listap.Remove(part); Console.WriteLine("Participante {0} removido da prova {1}!", part.nome, provas[op - 1].idnome); } else { Console.WriteLine("Participante {0} não existe!", op2); } } else { Console.WriteLine("Não existem participantes na prova!"); } } else { Console.WriteLine("Prova {0} não existe!", op); } } else { Console.WriteLine("Não existem provas e/ou participantes!"); } }
public chefeoficina(DateTime dn, string nome, double dinheiro, prova p) : base(dn, nome) { this.dinheiro = dinheiro; this.dataInscri = DateTime.Now; this.p = p; }