private static bool ProvjeriMogucnostDodavanja( Emisija emisija, IComponentRaspored dan, TvProgram program) { bool moguceDodati = true; if (program.GetPocetakPrikazivanja().TimeOfDay > emisija.GetVrijemePrikazivanja().TimeOfDay) { moguceDodati = false; } if (PostojiEmisijaKojaPocinjeUNavedenoVrijeme(dan, emisija.GetVrijemePrikazivanja())) { moguceDodati = false; } if (PostojiEmisijaKojaSeEmitiraUNavedenoVrijeme( dan, emisija.GetVrijemePrikazivanja(), emisija.GetTrajanje())) { moguceDodati = false; } if (PrelaziPonocaXkrajPrograma(emisija, program)) { moguceDodati = false; } return(moguceDodati); }
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 List <DateTime> PronadiPocetkePrvihEmisija(TvProgram program) { List <DateTime> listaPocetakaPrvihEmisija = new List <DateTime>(); for (int i = 0; i < program.GetTjedan().Count; i++) { var sortiranDan = program.GetTjedan()[i].GetChildList().OrderBy (o => o.GetVrijemePrikazivanja()).ToList <IComponentRaspored>(); if (sortiranDan.Count == 0) { listaPocetakaPrvihEmisija.Add(program.GetPocetakPrikazivanja()); } else { listaPocetakaPrvihEmisija.Add(sortiranDan[0].GetVrijemePrikazivanja()); } } return(listaPocetakaPrvihEmisija); }
private static DateTime DohvatiVrijemeEmisijuMoguceUbacitiPrijePrveEmisije( IComponentRaspored dan, int trajanje, TvProgram program) { DateTime vratiDatum = DateTime.MinValue; List <IComponentRaspored> sortiranDan = dan.GetChildList().OrderBy (o => o.GetVrijemePrikazivanja()).ToList <IComponentRaspored>(); DateTime pocetakPrveEmisije = new DateTime(); pocetakPrveEmisije = sortiranDan[0].GetVrijemePrikazivanja(); DateTime pocetakPrograma = new DateTime(); pocetakPrograma = program.GetPocetakPrikazivanja(); if (pocetakPrograma.AddMinutes(trajanje) <= pocetakPrveEmisije) { vratiDatum = pocetakPrograma; return(vratiDatum); } return(vratiDatum); }