/// <summary> /// Přidá do RA studijní skupinu, skupině a jejim studentům přidá RA do rozvrhu /// </summary> /// <param name="akce"></param> /// <param name="skupina"></param> public void AddStudijniSkupina(RozvrhovaAkce akce, StudijniSkupina skupina) { RozvrhoveAkce[akce.Id].StudijniSkupiny.Add(skupina.Id, skupina); for (int i = 0; i < akce.Delka; i++) { Databaze.StudijniSkupiny[skupina.Id].Rozvrh[akce.Den].Add(akce.Zacatek + i, akce); foreach (KeyValuePair <int, Student> student in skupina.StudentiSkupiny) { student.Value.Rozvrh[akce.Den].Add(akce.Zacatek + i, akce); } } }
/// <summary> /// Uloží novou, nebo edituje stávající rozvrhovou akci /// </summary> /// <param name="rozvrhovaAkce"></param> public void Save(RozvrhovaAkce rozvrhovaAkce) { if (RozvrhoveAkce.ContainsKey(rozvrhovaAkce.Id)) { // editace stávající, neimplementováno RozvrhoveAkce[rozvrhovaAkce.Id] = rozvrhovaAkce; } else { // ukládání nové RozvrhoveAkce.Add(rozvrhovaAkce.Id, rozvrhovaAkce); // registrace u předmětu Databaze.Predmety[rozvrhovaAkce.Predmet.Id].RozvrhoveAkce.Add(rozvrhovaAkce.Id, rozvrhovaAkce); for (int i = 0; i < rozvrhovaAkce.Delka; i++) { Databaze.Vyucujici[rozvrhovaAkce.Vyucujici.Id].Rozvrh[rozvrhovaAkce.Den].Add(rozvrhovaAkce.Zacatek + i, rozvrhovaAkce); Databaze.Mistnosti[rozvrhovaAkce.Mistnost.Id].Rozvrh[rozvrhovaAkce.Den].Add(rozvrhovaAkce.Zacatek + i, rozvrhovaAkce); } } }
/// <summary> /// Vymaže záznam rozvrhové akce /// </summary> /// <param name="rozvrhovaAkce"></param> public void Delete(RozvrhovaAkce rozvrhovaAkce) { foreach (KeyValuePair <int, StudijniSkupina> skupina in rozvrhovaAkce.StudijniSkupiny) { for (int i = 0; i < rozvrhovaAkce.Delka; i++) { foreach (KeyValuePair <int, Student> student in skupina.Value.StudentiSkupiny) { student.Value.Rozvrh[rozvrhovaAkce.Den].Remove(rozvrhovaAkce.Zacatek + i); } Databaze.StudijniSkupiny[skupina.Value.Id].Rozvrh[rozvrhovaAkce.Den].Remove(rozvrhovaAkce.Zacatek + i); } } RozvrhoveAkce[rozvrhovaAkce.Id].StudijniSkupiny.Clear(); for (int i = 0; i < rozvrhovaAkce.Delka; i++) { Databaze.Vyucujici[rozvrhovaAkce.Vyucujici.Id].Rozvrh[rozvrhovaAkce.Den].Remove(rozvrhovaAkce.Zacatek + i); Databaze.Mistnosti[rozvrhovaAkce.Mistnost.Id].Rozvrh[rozvrhovaAkce.Den].Remove(rozvrhovaAkce.Zacatek + i); } Databaze.Predmety[rozvrhovaAkce.Predmet.Id].RozvrhoveAkce.Remove(rozvrhovaAkce.Id); RozvrhoveAkce.Remove(rozvrhovaAkce.Id); }
/// <summary> /// Vytvoří rozvrhové akce a zaregistruje je u vyučujících a místností /// </summary> public override void LoadRozvrhoveAkce() { string CSVfile = (@".\csv\rozvrhove_akce.csv"); using (StreamReader sr = new StreamReader(CSVfile, Encoding.UTF8)) { string line; int it = 1; while ((line = sr.ReadLine()) != null) { if (it++ == 1) { continue; } // id; predmetId; typVyuky; vyucujiciId; mistnostId; den; zacatek; delka string[] explode = line.Split(';'); int id = int.Parse(explode[0]); int idPredmetu = int.Parse(explode[1]); TypyVyuky typ = (TypyVyuky)Enum.Parse(typeof(TypyVyuky), explode[2]); int idVyucujiciho = int.Parse(explode[3]); int idMistnosti = int.Parse(explode[4]); Dny den = (Dny)Enum.Parse(typeof(Dny), explode[5]); int zacatek = int.Parse(explode[6]); int delka = int.Parse(explode[7]); RozvrhovaAkce ra = new RozvrhovaAkce(id, Predmety[idPredmetu], typ, Vyucujici[idVyucujiciho], Mistnosti[idMistnosti], den, zacatek, delka); RozvrhoveAkce.Add(id, ra); Predmety[ra.Predmet.Id].RozvrhoveAkce.Add(ra.Id, ra); for (int i = 0; i < delka; i++) { Vyucujici[idVyucujiciho].Rozvrh[den].Add(zacatek + i, ra); Mistnosti[idMistnosti].Rozvrh[den].Add(zacatek + i, ra); } } } }