예제 #1
0
        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();
        }
예제 #2
0
 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);
     }
 }
예제 #3
0
 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);
         }
     }
 }
예제 #4
0
 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);
         }
     }
 }
예제 #5
0
        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);
                }
            }
        }
예제 #6
0
 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)
         {
         }
     }
 }