public Prihlaska(string jmeno, string prijmeni, DateTime datumNarozeni, StudijniObor obor) { // Při každém vytvoření nového objektu typu Prihlaska zvýšíme čítač na základě // kterého generuje unikátní kódy přihlášek vytvorenoPrihlasek++; Kod = String.Format("prihlaska_{0}", vytvorenoPrihlasek); Jmeno = jmeno; Prijmeni = prijmeni; DatumNarozeni = datumNarozeni; Obor = obor; }
/* * Vypíše číslovaný seznam všech evidovaných studijních oborů a * nechá uživatele zadat číslo vybraného oboru. Metoda vrací * index oboru z kolekce Obory. */ public StudijniObor VybratObor() { Console.WriteLine("\tVyberte studijni obor: "); StudijniObor obor = null;; for (int i = 0; i < Obory.Count; i++) { Console.WriteLine("\t\t{0}. {1}", i + 1, Obory[i].Nazev); } obor = Obory[Int32.Parse(Console.ReadLine()) - 1]; return(obor); }
/* * Najde a vrátí seznam přihlášek s daným oborem. Pokud není * žádná nalezena pak je vrácena prázdná kolekce. */ public List <Prihlaska> VyhledejPrihlasku(StudijniObor obor) { List <Prihlaska> nalezenePrihlasky = new List <Prihlaska>(); foreach (Prihlaska prihlaska in Prihlasky) { if (prihlaska.Obor == obor) { nalezenePrihlasky.Add(prihlaska); } } return(nalezenePrihlasky); }
/* * Postupně vyzve uživatele k zadání údajů do přihlášky a uloží ji. * Zadávané údaje: jméno, příjmenu, datum narození studenta, studijní obor. */ public void VytvoritPrihlasku() { try { Console.WriteLine("\nNOVA PRIHLASKA"); Console.Write("\tJmeno: "); string jmeno = Console.ReadLine(); Console.Write("\tPrijmeni: "); string prijmeni = Console.ReadLine(); Console.Write("\tDatum narozeni(rok): "); int datumRok = Int32.Parse(Console.ReadLine()); Console.Write("\tDatum narozeni(mesic): "); int datumMesic = Int32.Parse(Console.ReadLine()); Console.Write("\tDatum narozeni(den): "); int datumDen = Int32.Parse(Console.ReadLine()); StudijniObor obor = VybratObor(); DateTime datumNarozeni = new DateTime(datumRok, datumMesic, datumDen); // Ověření, zdali přihlášky se stejnými údaji již neexistuje if (!ExistujePrihlaska(jmeno, prijmeni, datumNarozeni, obor)) { Prihlasky.Add(new Prihlaska(jmeno, prijmeni, datumNarozeni, obor)); Console.WriteLine("Prihlaska byla uspesne vytvorena"); } else { Console.WriteLine("Prihlaska se zadanymi udaji j*z existuje"); } } catch (Exception e) { Console.WriteLine("Doslo k chybe pri vytvareni prihlasky."); Console.WriteLine("Text chyby: {0}", e.Message); } }
static void Main(string[] args) { // Připravíme si testovací data - studijní obory List <StudijniObor> obory = new List <StudijniObor>(); obory.Add(new StudijniObor("Informacni technologie")); obory.Add(new StudijniObor("Automatizace ve vyrobe")); obory.Add(new StudijniObor("Elektrotechnika")); EvidencePrihlasek evidence = new EvidencePrihlasek(obory); // Hlavní menu aplikace int volbaHlavniMenu = 0; do { try { // Vypíšeme hlavní menu aplikace Console.WriteLine("\nHLAVNI MENU"); Console.WriteLine("\t1. Nova prihlaska"); Console.WriteLine("\t2. Vyhledani prihlasky"); Console.WriteLine("\t3. Vypis prihlasek"); Console.WriteLine("\t4. Konec programu"); Console.Write("\tVase volba: "); volbaHlavniMenu = Int32.Parse(Console.ReadLine()); // Vybereme, kterou operaci provést switch (volbaHlavniMenu) { // Vytvoření nové přihlášky case 1: evidence.VytvoritPrihlasku(); break; // Vyhledání přihlášky podle kódu case 2: Console.Write("Zadejte kod hledane prihlasky: "); string kod = Console.ReadLine(); Prihlaska prihlaska = evidence.VyhledejPrihlasku(kod); if (prihlaska != null) { Console.WriteLine("Prihlaska nalezena: "); prihlaska.VypisInformace(); } else { Console.WriteLine("Prihlaska s kodem {0} nebyla nalezena", kod); } break; // Výpis přihlášek podle studijního oboru case 3: StudijniObor obor = evidence.VybratObor(); List <Prihlaska> prihlasky = evidence.VyhledejPrihlasku(obor); if (prihlasky.Count > 0) { foreach (Prihlaska p in prihlasky) { Console.WriteLine("NALEZENE PRIHLASKY: "); p.VypisInformace(); } } else { Console.WriteLine("Nebyly nalezeny zadne prihlasky"); } break; // Aplikace bude ukončena, neprovedeme žádnou operaci case 4: break; // Zadána volba mimo rozsah menu default: Console.WriteLine("Neznama volba"); break; } } catch (Exception e) { Console.WriteLine("Doslo k chybe pri volbe moznosti z menu."); Console.WriteLine("Text chyby: {0}", e.Message); volbaHlavniMenu = 0; } // Volba 4 = ukončení programu } while (volbaHlavniMenu != 4); }
/* * Vrací true/false podle toho zdali již existuje přihláška s danými údaji. */ private bool ExistujePrihlaska(string jmeno, string prijmeni, DateTime datumNarozeni, StudijniObor obor) { foreach (Prihlaska prihlaska in Prihlasky) { if (prihlaska.Jmeno == jmeno && prihlaska.Prijmeni == prijmeni && prihlaska.DatumNarozeni == datumNarozeni && prihlaska.Obor == obor) { return(true); } } return(false); }