//dodavanje novog predmeta profesoru public void DodajPredmetProfesoru(NastavnoOsoblje prof, Predmet predmet) { if (!Predmeti.Exists(p => p.SifraPredmeta == predmet.SifraPredmeta)) { Predmeti.Add(predmet); } try { //provjeriti da li je ispravna dodjela,iz razloga sto je Zaposleni tip Zaposleni int i = Zaposleni.IndexOf(Zaposleni.Single(p => p.SifraZaposlenog == prof.SifraZaposlenog)); NastavnoOsoblje pomocni = Zaposleni[i] as NastavnoOsoblje; pomocni.DodajPredmet(predmet); Zaposleni[i] = pomocni; int j = Predmeti.IndexOf(Predmeti.Single(p => p.SifraPredmeta == predmet.SifraPredmeta)); Predmeti[j].NastavniAnsamblPredmeta[0] = Zaposleni[i] as NastavnoOsoblje; } catch { throw new Exception("Dati zaposleni ne radi u zadanoj ustanovi!"); } }
//dodavanje novog predmeta nekom studentu public void DodajPredmetStudentu(Student student, Predmet predmet) { //provjeriti sa asistentom ispravnost ili eventualne ispravke i poboljsanja if (!Predmeti.Exists(p => p.SifraPredmeta == predmet.SifraPredmeta)) { throw new Exception("Ne postoji dati predmet!"); } else if (!Studenti.Exists(s => s.BrojIndeksa == student.BrojIndeksa)) { throw new Exception("Student se ne nalazi na ovom fakultetu!"); } int i = Studenti.IndexOf(Studenti.Single(s => s.BrojIndeksa == student.BrojIndeksa)); if (Studenti[i].TrenutniPredmeti.Exists(p => p == predmet.SifraPredmeta) || Studenti[i].PolozeniPredmeti.Exists(p => p == predmet.SifraPredmeta)) // provjerit ovaj uslov { throw new Exception("Student je vec upisan na ovaj predmet!"); } Studenti[i].DodajPredmet(predmet.SifraPredmeta); }