private static void DodajNoveOsobeUlogeEmisije(Emisija emisija, VremenskiPlan plan)
 {
     if (plan.GetListaOsobaUloga().Count > 0)
     {
         foreach (var item in plan.GetListaOsobaUloga())
         {
             if (!emisija.GetListaOsobaUloga().Contains(item))
             {
                 emisija.GetListaOsobaUloga().Add(item);
             }
         }
     }
 }
        private static void DodajEmisijuNaPocetakPrograma(TvProgram program, Emisija orig,
                                                          VremenskiPlan plan, int brojDana)
        {
            Emisija emisijaZaDodat = VratiNoviKopiraniObjekt(orig);

            DodajNoveOsobeUlogeEmisije(emisijaZaDodat, plan);
            emisijaZaDodat.SetVrijemePrikazivanja(program.GetPocetakPrikazivanja());
            DodjeliRedniBroj(emisijaZaDodat);
            program.GetTjedan()[(brojDana - 1)].AddChild(emisijaZaDodat);

            SubjectOsobaUlogaSingleton subject = SubjectOsobaUlogaSingleton.GetInstance();

            subject.AddObserver(emisijaZaDodat);
        }
示例#3
0
        private static VremenskiPlan IzradiVremenskiPlan(string[] redak)
        {
            VremenskiPlan plan = new VremenskiPlan();

            plan.SetEmisijaId(int.Parse(redak[0].Trim()));

            List <int> tempListaDanaEmitiranja;

            if (redak.Length >= 2)
            {
                tempListaDanaEmitiranja = DohvatiListuDanaEmitiranja(redak[1]);
            }
            else
            {
                tempListaDanaEmitiranja = new List <int>();
            }

            DateTime tempPocetak;

            if (redak.Length >= 3)
            {
                tempPocetak = DohvatiVrijemePocetka(redak[2]);
            }
            else
            {
                tempPocetak = DateTime.MinValue;
            }

            List <KeyValuePair <int, int> > tempListaOsobaUloga;

            if (redak.Length >= 4)
            {
                tempListaOsobaUloga = DohvatiListuOsobaUloga(redak[3]);
            }
            else
            {
                tempListaOsobaUloga = new List <KeyValuePair <int, int> >();
            }

            plan.SetListaDanaEmitiranja(tempListaDanaEmitiranja);
            plan.SetPocetak(tempPocetak);
            plan.SetListaOsobaUloga(tempListaOsobaUloga);
            return(plan);
        }
        private static bool UspioDodatiIzmeduDvije(TvProgram program, Emisija orig,
                                                   VremenskiPlan plan, int brojDana)
        {
            Emisija emisijaZaDodat = VratiNoviKopiraniObjekt(orig);

            DodajNoveOsobeUlogeEmisije(emisijaZaDodat, plan);
            emisijaZaDodat.SetVrijemePrikazivanja(
                DohvatiVrijemeGdjeEmisijuMoguceUbacitiIzmeduDvijeEmisije(
                    program.GetTjedan()[brojDana - 1], emisijaZaDodat.GetTrajanje()));
            if (emisijaZaDodat.GetVrijemePrikazivanja().TimeOfDay !=
                DateTime.MinValue.TimeOfDay)
            {
                DodjeliRedniBroj(emisijaZaDodat);
                program.GetTjedan()[(brojDana - 1)].AddChild(emisijaZaDodat);
                SubjectOsobaUlogaSingleton subject = SubjectOsobaUlogaSingleton.GetInstance();
                subject.AddObserver(emisijaZaDodat);
                return(true);
            }
            return(false);
        }