示例#1
0
 /// <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);
         }
     }
 }
示例#2
0
 /// <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);
         }
     }
 }
示例#3
0
        /// <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);
        }
示例#4
0
        /// <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);
                    }
                }
            }
        }