Exemple #1
0
            /// <summary>
            /// Az osztály évfolyama és szekciója alapján visszaadja az osztályt magát.
            /// </summary>
            /// <param name="neve">Az osztály neve, pl. "11.f" vagy "nyf"</param>
            /// <returns></returns>
            public static bool TryGet(string évf, string szek, Nyom nyom, out Osztály result)
            {
                DebugConsole.WriteLine(nyom, $"Keresem: { évf} { szek}");
                int ix = Osztály.lista.FindIndex(x => x.évfolyam == évf && x.szekció == szek);

                result = ix >= 0 ? Osztály.lista[ix] : null;
                return(ix >= 0);
            }
Exemple #2
0
            /// <summary>
            /// Az osztály sorszáma alapján visszaadja az osztályt magát. Hibakezel.
            /// </summary>
            /// <param name="neve">Az osztály neve, pl. "11.f" vagy "nyf"</param>
            /// <returns></returns>
            public static bool TryGet(int sorszám, Nyom nyom, out Osztály result)
            {
                DebugConsole.WriteLine(nyom, $"Keresem: {sorszám}");

                int ix = Osztály.lista.FindIndex(x => x.sorszám == sorszám);

                result = ix >= 0? Osztály.lista[ix]:null;
                return(ix >= 0);
            }
Exemple #3
0
            /// <summary>
            /// Az osztálykódokból álló listákat az osztályok listáinak elemeiből álló osztálylistává alakítja.
            /// </summary>
            /// <param name="kód"></param>
            /// <returns></returns>
            public static List <Osztály> str2oszt(string kód, Nyom nyom)            // a kód egy ilyen : "9.abd,10.ef,11.bcd,12.aef"
            {
                DebugConsole.WriteLine(nyom, "indul");

                List <Osztály> osztálylista = new List <Osztály>();

                customsávkódok = DB_Beolvas("DB_customsávkódok.tsv", 0, 1, nyom / "DB_beolvas:customsávkódok");

                string[] évfolyamonként = kód.Split(',');                 // évfolyamonként: [ "9.abd"  ,  "10.ef"  ,  "11.bcd"  ,  "12.aef" ]
                foreach (string évfolyamrész in évfolyamonként)           // egy évfolyamrész: "11.bcd"
                {
                    string[] évfolyamsplit = évfolyamrész.Split('.');
                    if (évfolyamsplit.Length == 1)                                               // ez csak a kny, nye, nyf, oktv, stb. esetében lehet, szóval ez egy custom sávnév kell legyen.
                    {
                        osztálylista.AddRange(str2oszt(customsávkódok[évfolyamsplit[0]], nyom)); // csak akkor lehet végtelen kör, ha az adatbázisban kör van!
                    }
                    else
                    {
                        string évf = évfolyamsplit[0];
                        foreach (char betű in évfolyamsplit[1])
                        {
                            Osztály osztály;
                            if (!Osztály.TryGet(évf.ToUpper(), betű.ToString().ToUpper(), nyom / "osztály.TryGet", out osztály))
                            {
                                new Probléma(nyom, $"[red]{{BAJ VAN!}} nem találtam meg az osztályt az évfolyam és szekció alapján. ");
                            }
                            osztálylista.Add(osztály);
                        }
                    }
                }

                if (sávbontás_részletezése)
                {
                    DebugConsole.WriteLine(nyom, $"A \"{kód}\" kódból a következő osztályokat fejtettem vissza:");
                    foreach (var item in osztálylista)
                    {
                        DebugConsole.WriteLine(nyom, $"évfolyam: {item.évfolyam}, szekció: {item.szekció}, név: {item.név}");
                    }
                }

                return(osztálylista);
            }