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); }
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); }
private static void OdabirNoveUlogeZaOsobuURasporedu(int osobaId, int ulogaId) { List <int> listaIdSvihUloga = DohvatiSveIdUlogaIzTvKuce(); listaIdSvihUloga.Remove(ulogaId); //Micem staru Console.WriteLine("\nOdabrana osoba: " + DohvatiImeOsobePoId(osobaId)); Console.WriteLine("Odabrana uloga za zamjenu: " + DohvatiNazivUlogePoId(ulogaId)); Console.WriteLine("Odaberite neku postojeću ulogu koju želite postaviti: \n"); for (int i = 0; i < listaIdSvihUloga.Count; i++) { Console.WriteLine("(" + (i + 1) + ") " + DohvatiNazivUlogePoId(listaIdSvihUloga[i])); } Console.Write("Moj odabir: "); string korisnickiUnos = Console.ReadLine(); if (int.TryParse(korisnickiUnos, out int odabir)) { if (odabir > listaIdSvihUloga.Count || odabir <= 0) { Console.WriteLine("Ta uloga ne postoji !"); } else { SubjectOsobaUlogaSingleton subject = SubjectOsobaUlogaSingleton.GetInstance(); subject.SetOsobaUlogaStaro(new KeyValuePair <int, int>(osobaId, ulogaId)); subject.SetOsobaUlogaNovo(new KeyValuePair <int, int>(osobaId, listaIdSvihUloga[odabir - 1])); Console.WriteLine("\nUspjesno zamjenjena uloga '" + DohvatiNazivUlogePoId(ulogaId) + "' sa ulogom '" + DohvatiNazivUlogePoId(listaIdSvihUloga[odabir - 1]) + "' kod osobe - " + DohvatiImeOsobePoId(osobaId)); } } else { Console.WriteLine("Ne ispravan unos!"); } }
private static void DodajEmisijeZadaniPocetak( TvProgram program, List <VremenskiPlan> listaZadaniPocetakDani) { TvKucaSingleton tvKuca = TvKucaSingleton.GetTvKucaInstance(); SubjectOsobaUlogaSingleton subject = SubjectOsobaUlogaSingleton.GetInstance(); foreach (VremenskiPlan plan in listaZadaniPocetakDani) { foreach (int brojDana in plan.GetListaDanaEmitiranja()) { Emisija trazena = tvKuca.ListaEmisija.Find (x => x.GetId() == plan.GetEmisijaId()); if (trazena == null) { Console.WriteLine(" - Emisija sa ID: " + plan.GetEmisijaId() + " ne postoji! -> PRESKAČEM"); break; } Emisija emisijaZaDodat = VratiNoviKopiraniObjekt(trazena); emisijaZaDodat.SetVrijemePrikazivanja(plan.GetPocetak()); DodajNoveOsobeUlogeEmisije(emisijaZaDodat, plan); if (ProvjeriMogucnostDodavanja (emisijaZaDodat, program.GetTjedan()[brojDana - 1], program)) { DodjeliRedniBroj(emisijaZaDodat); program.GetTjedan()[(brojDana - 1)].AddChild(emisijaZaDodat); subject.AddObserver(emisijaZaDodat); } else { Console.WriteLine(" - " + brojDana + ".dan - Emisiju: " + emisijaZaDodat.GetId() + " vrijeme pocetka: " + emisijaZaDodat.GetVrijemePrikazivanja().TimeOfDay + ", " + emisijaZaDodat.GetNaziv() + " - trajanje: " + emisijaZaDodat.GetTrajanje() + " nije bilo moguće dodati u raspored."); } } } }