private void Gradi(List <string[]> lista_redaka, int dan_u_tjednu, Emisija emisija, Programi program, int i, TimeSpan pocetak) { Raspored raspored = new Raspored(rbr, emisija, dan_u_tjednu, pocetak); rbr++; int x = 1; if (lista_redaka[i].Length == 4) { x = 3; } if (lista_redaka[i].Length == 3) { x = 2; } if (lista_redaka[i][x] != "") { string[] split = lista_redaka[i][x].Split('-'); Osoba osoba = (Osoba)osobaCreator.VratiObjekt(int.Parse(split[0])); Uloga uloga = (Uloga)ulogaCreator.VratiObjekt(int.Parse(split[1])); program.DodajOsobu(osoba, raspored, 2); foreach (var item in emisija.osobe) { program.DodajOsobu(item, emisija, 1); } raspored.osoba.Add(osoba); raspored.uloga.Add(uloga); } lista_rasporeda.Add(raspored); lista_rasporeda = lista_rasporeda.OrderBy(a => a.pocetak).ToList(); }
public void Notify(Uloga u_stara, Uloga u_nova) { foreach (var item in observerEmisije) { item.Update(u_stara, u_nova); } foreach (var item in observerRaspored) { item.Update(u_stara, u_nova); } }
public void Update(Uloga u_stara, Uloga u_nova) { foreach (var item in uloge) { if (item.id == u_stara.id) { int index = uloge.IndexOf(item); uloge[index] = u_nova; controller.Ispis("Osobi: " + osobe[index].ime_prezime + ", je promijenjena uloga: " + u_stara.opis + ", u: " + u_nova.opis + ", u svim emisijama: " + naziv_emisije); } } }
public void Update(Uloga u_stara, Uloga u_nova) { foreach (var item in uloga) { if (item.id == u_stara.id) { int index = uloga.IndexOf(item); uloga[index] = u_nova; controller.Ispis("Osobi:" + osoba[index].ime_prezime + " je promijenjena uloga:" + u_stara.opis + " u:" + u_nova.opis + " u emisiji:" + ((Emisija)emisija).naziv_emisije + " u danu:" + dan_u_tjednu); } } }
public void BuildEmisije() { citac.CitajDatoteku(citac.emisije); List <string[]> lista_redaka = citac.DohvatiListuRedaka(); for (int i = 0; i < lista_redaka.Count; i++) { if (lista_redaka[i].Length == 5) { try { Vrsta vrsta = (Vrsta)vrstaCreator.VratiObjekt(int.Parse(lista_redaka[i][2])); Emisija emisija = new Emisija(int.Parse(lista_redaka[i][0]), lista_redaka[i][1], int.Parse(lista_redaka[i][3]), vrsta); string[] osoba_uloga = lista_redaka[i][4].Split(','); if (osoba_uloga.Length > 0) { foreach (var item in osoba_uloga) { string[] split = item.Split('-'); if (split.Length == 2) { Osoba o = (Osoba)osobaCreator.VratiObjekt(int.Parse(split[0])); Uloga u = (Uloga)ulogaCreator.VratiObjekt(int.Parse(split[1])); tvKuca.DodajOsobu(o, emisija, 1); emisija.osobe.Add(o); emisija.uloge.Add(u); } } } lista_emisija.Add(emisija); } catch (Exception e) { Console.WriteLine("Neispravni podaci u retku: " + (i + 1)); } } else { Console.WriteLine("Neispravan redak: " + (i + 1) + " u datoteci: " + citac.emisije); } } }
public void ZamjenaUloga(int id_osoba, int id_uloga_postojeca, int id_uloga_nova) { factory.UlogaCreator u = new factory.UlogaCreator(); foreach (Programi item in tvKuca.VratiListu()) { try { Uloga postojeca = (Uloga)u.VratiObjekt(id_uloga_postojeca); Uloga nova = (Uloga)u.VratiObjekt(id_uloga_nova); foreach (var i in item.osobe) { if (i.id == id_osoba) { i.Notify(postojeca, nova); } } //tvKuca.VratiOsobu(id_osoba).Notify(postojeca, nova); } catch (Exception e) { } } }