Ejemplo n.º 1
0
        /// <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));
        }
Ejemplo n.º 2
0
        /// <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);
        }