/// <summary> /// Vykreslí formulář /// </summary> private void ShowForm() { Console.Clear(); Console.WriteLine(); Console.WriteLine("\n\tVytvoření nového studenta:"); do // jmeno { Console.Write("\r\n\t\tJméno: "); jmeno = Console.ReadLine(); } while (!Regex.IsMatch(jmeno, @"^[a-zA-ZáčďéěíňóřšťůúýžÁČĎÉĚÍŇÓŘŠŤŮÚÝŽÄËÏÖÜäïöüÿ ]+$")); do // prijmeni { Console.Write("\t\tPříjmení: "); prijmeni = Console.ReadLine(); } while (!Regex.IsMatch(prijmeni, @"^[a-zA-ZáčďéěíňóřšťůúýžÁČĎÉĚÍŇÓŘŠŤŮÚÝŽÄËÏÖÜäïöüÿ ]+$")); bool ok = false; do // osobniCislo { Console.Write("\t\tOsobní Čislo: "); osobniCislo = Console.ReadLine(); ok = Regex.IsMatch(osobniCislo, @"^[A][0-9]{5,7}$"); if (ok) { var foo = StudijniOborManager.Databaze.Studenti.FirstOrDefault(x => x.Value.OsobniCislo == osobniCislo); if (foo.Value != null) { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("\t\tZadané osobní číslo je již evidováno u jiného studenta."); Console.ForegroundColor = ConsoleColor.Black; ok = false; } } else { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("\t\tZadali jste špatný formát osobního čísla." + @" (^[A][0-9]{5,7}$)"); Console.ForegroundColor = ConsoleColor.Black; } } while (!ok); Console.WriteLine("\t\tDostupné studijní obory: {0}", SeznamZkratek); string input = String.Empty; do // studijni obor { Console.Write("\t\tStudijniObor: "); input = Console.ReadLine(); } while (!ZkratkyOboru.ContainsKey(input)); studijniObor = StudijniOborManager.StudijniObory[ZkratkyOboru[input]]; input = String.Empty; do // rocnik { Console.Write("\t\tRočník: "); input = Console.ReadLine(); } while (!int.TryParse(input, out rocnik) || !(rocnik > 0 && rocnik < 4)); }
/// <summary> /// Vykreslení formuláře /// </summary> private void ShowForm() { Console.Clear(); Console.WriteLine(); Console.WriteLine("\n\tEditace studenta:"); do // jmeno { Console.Write("\r\n\t\tJméno [{0}]: ", Student.Jmeno); jmeno = Console.ReadLine(); } while (!Regex.IsMatch(jmeno, @"^[a-zA-ZáčďéěíňóřšťůúýžÁČĎÉĚÍŇÓŘŠŤŮÚÝŽÄËÏÖÜäïöüÿ ]+$") && jmeno != String.Empty); do // prijmeni { Console.Write("\t\tPříjmení [{0}]: ", Student.Prijmeni); prijmeni = Console.ReadLine(); } while (!Regex.IsMatch(prijmeni, @"^[a-zA-ZáčďéěíňóřšťůúýžÁČĎÉĚÍŇÓŘŠŤŮÚÝŽÄËÏÖÜäïöüÿ ]+$") && prijmeni != String.Empty); bool ok = false; do // osobniCislo { Console.Write("\t\tOsobní Čislo [{0}]: ", Student.OsobniCislo); osobniCislo = Console.ReadLine(); if (osobniCislo == String.Empty) { break; // nechce editovat } if (osobniCislo == Student.OsobniCislo) { break; // zadáno shodné, také nepokračovat s validací } ok = Regex.IsMatch(osobniCislo, @"^[A][0-9]{5}$"); if (ok) { var foo = StudijniOborManager.Databaze.Studenti.FirstOrDefault(x => x.Value.OsobniCislo == osobniCislo); if (foo.Value != null) { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("\t\tZadané osobní číslo je již evidováno u jiného studenta."); Console.ForegroundColor = ConsoleColor.Black; ok = false; } } else { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("\t\tZadali jste špatný formát osobního čísla."); Console.ForegroundColor = ConsoleColor.Black; } } while (!ok); string input = String.Empty; if (Student.ZapsanePredmety.Count == 0) { Console.WriteLine("\t\tDostupné studijní obory: {0}", SeznamZkratek); do // studijni obor { Console.Write("\t\tStudijniObor [{0}]: ", Student.StudijniObor.Zkratka); input = Console.ReadLine(); } while (!ZkratkyOboru.ContainsKey(input) && input != String.Empty); if (input != String.Empty) { studijniObor = StudijniOborManager.StudijniObory[ZkratkyOboru[input]]; } } else { Console.ForegroundColor = ConsoleColor.DarkGray; Console.WriteLine("\t\tStudijniObor [{0}]", Student.StudijniObor.Zkratka); Console.ForegroundColor = ConsoleColor.Black; } input = String.Empty; do // rocnik { Console.Write("\t\tRočník [{0}]: ", Student.Rocnik.ToString()); input = Console.ReadLine(); } while ((!int.TryParse(input, out rocnik) || !(rocnik > 0 && rocnik < 4)) && input != String.Empty); }