/// <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++; } } }
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 }); } }