Пример #1
0
        /// <summary>
        /// Obstará stáhnutí a následné zpracování souboru UcitelInfo(by ucit id).json
        /// </summary>
        /// <param name="data">Objekt databáze kam se data zařadí</param>
        /// <param name="serializer">NewtonSoft JSON serializer pro deserializaci staženého souboru</param>
        /// <remarks>Soubor se pojmenuje jako UcitelID.json</remarks>
        private static void Handle_UcitelByRoak(STAG_Classes.STAG_Database data, JsonSerializer serializer)
        {
            // Pro každou akci ze studentských rozvrhů...
            foreach (var akce in data.Akce)
            {
                // Pro každého učitele z akce...
                foreach (var ucitelID in akce.Value.VsichniUciteleUcitIdno)
                {
                    // Pokud toho učitele ještě neznám -> stáhnu a zařadím
                    if (!data.Ucitele.ContainsKey(ucitelID))
                    {
                        // Stazeni ucitele
                        string tmppath = FolderPath_uciteleByID + @"\" + ucitelID.ToString() + ".json";
                        Download_UcitelInfo(ucitelID.ToString(), tmppath);
                        // Deserializace
                        STAG_Classes.Ucitel tmp = null;
                        using (StreamReader file = File.OpenText(tmppath))
                            tmp = ((List <STAG_Classes.Ucitel>)serializer.Deserialize(file, typeof(List <STAG_Classes.Ucitel>)))[0];
                        // Pridani do slovniku všech učitelů
                        data.Ucitele.Add(ucitelID, tmp);
                    }

                    // Pridani reference    akce <=> učitel
                    akce.Value.VsichniUcitele.Add(data.Ucitele[ucitelID]);
                    data.Ucitele[ucitelID].referenceCount++;
                }
            }
        }
Пример #2
0
 public void AddUcitel(STAG_Classes.Ucitel ucitel)
 {
     if (ucitele.ContainsKey(ucitel.Katedra))
     {
         ucitele[ucitel.Katedra].Add(ucitel);
     }
     else
     {
         ucitele.Add(ucitel.Katedra, new List <Ucitel>()
         {
             ucitel
         });
     }
 }