public List <IRasporedEmisija> IspisPremaVrsti(TvProgrami program, DanComposite dan, int vrsta) { List <IRasporedEmisija> prikaz = Komponenta.IspisPremaVrsti(program, dan, vrsta); IAbstractIterator iterator = new ConcreateIteratorVrsta(prikaz, vrsta); if (iterator.hasNext()) { if (!postaviZaglavlje) { Console.Write(new string('-', 122) + "\n"); Console.Write($"|{"Program",-20}|{"Dan",-15}|{"Naziv Emisije",-40}|{"Pocetak",20}|{"Kraj",20}\n"); Console.Write(new string('-', 122) + "\n"); postaviZaglavlje = true; } } IRasporedEmisija raspored = iterator.First(); while (!iterator.IsDone) { Console.Write($"|{program.Naziv,-20}|{dan.Dan.Naziv,-15}|{((EmisijaLeaf) raspored).Emisija.Emisija.naziv,-40}|{((EmisijaLeaf) raspored).Emisija.Pocetak,20}|{((EmisijaLeaf) raspored).Emisija.Kraj,20}\n"); raspored = iterator.Next(); } return(null); }
public void emisijeSPocetkom(List <Program> listaProgram, List <EmitiranjeEmisija> listaEmisija) { for (int i = 1; i <= 7; i++) { List <EmitiranjeEmisija> listaObrisanih = new List <EmitiranjeEmisija>(); List <Program> emisijeSDanimaIPocetkom = listaProgram.Where(e => e.DaniUTjednu != null && e.Pocetak != TimeSpan.Zero && e.DaniUTjednu.Contains(i)).OrderBy(e => e.Pocetak).ToList(); List <Program> emisijeSDanimaBezPocetka = listaProgram.Where(e => e.DaniUTjednu != null && e.Pocetak == TimeSpan.Zero && e.DaniUTjednu.Contains(i)).OrderBy(e => e.Pocetak).ToList(); List <Program> emisijeBezDanaIBezPocetka = listaProgram.Where(e => e.DaniUTjednu == null && e.Pocetak == TimeSpan.Zero).ToList(); DanComposite dan = ((TvProgrami)RasporedEmisija).getDan(i); if (emisijeSDanimaBezPocetka.Count != 0 || emisijeSDanimaIPocetkom.Count != 0) { DodajEmisijeDanu(listaEmisija, emisijeSDanimaIPocetkom, dan, listaObrisanih); DodajEmisijeDanu(listaEmisija, emisijeSDanimaBezPocetka, dan, listaObrisanih); DodajEmisijeBezDana(listaEmisija, emisijeBezDanaIBezPocetka, dan); } else { foreach (var emisija in emisijeBezDanaIBezPocetka.ToList()) { EmitiranjeEmisija _emisija = listaEmisija.FirstOrDefault(e => e.Emisija.Id == emisija.Id); _emisija.Pocetak = TvKucaSingleton.GetInstance().dohvatiPocetak(); _emisija.Kraj = _emisija.Pocetak + TimeSpan.FromMinutes(_emisija.Emisija.trajanje); dan.Add(_emisija); listaEmisija.Remove(_emisija); emisijeBezDanaIBezPocetka.Remove(emisija); } } } }
public List <IRasporedEmisija> IspisPremaVrsti(TvProgrami program, DanComposite dan, int vrsta) { List <IRasporedEmisija> prikaz = Komponenta.IspisPremaVrsti(program, dan, vrsta); List <IRasporedEmisija> lista = new List <IRasporedEmisija>(); bool dodanaEmisija = false; foreach (EmitiranjeEmisija emisija in prikaz) { if (vrsta == emisija.Emisija.VrstaEmisije) { lista.Add(emisija); dodanaEmisija = true; } } IAbstractIterator iterator = new ConcreateIteratorVrsta(lista); if (iterator.hasNext()) { if (!postaviZaglavlje) { Console.Write(new string('-', 122) + "\n"); Console.Write($"|{"Program",-20}|{"Dan",-15}|{"Naziv Emisije",-40}|{"Pocetak",20}|{"Kraj",20}\n"); Console.Write(new string('-', 122) + "\n"); postaviZaglavlje = true; } } IRasporedEmisija raspored = iterator.First(); while (!iterator.IsDone) { Console.Write($"|{program.Naziv,-20}|{dan.Dan.Naziv,-15}|{((EmitiranjeEmisija) raspored).Emisija.naziv,-40}|{((EmitiranjeEmisija) raspored).Pocetak,20}|{((EmitiranjeEmisija) raspored).Kraj,20}\n"); raspored = iterator.Next(); } return(null); }
public void emisijeSPocetkom(List <Program> listaProgram, List <EmitiranjeEmisija> listaEmisija) { for (int i = 1; i <= 7; i++) { List <EmitiranjeEmisija> listaObrisanih = new List <EmitiranjeEmisija>(); List <Program> emisijeSDanimaIPocetkom = listaProgram.Where(e => e.DaniUTjednu != null && e.Pocetak != TimeSpan.Zero && e.DaniUTjednu.Contains(i)).OrderBy(e => e.Pocetak).ToList(); List <Program> emisijeSDanimaBezPocetka = listaProgram.Where(e => e.DaniUTjednu != null && e.Pocetak == TimeSpan.Zero && e.DaniUTjednu.Contains(i)).OrderBy(e => e.Pocetak).ToList(); List <Program> emisijeBezDanaIBezPocetka = listaProgram.Where(e => e.DaniUTjednu == null && e.Pocetak == TimeSpan.Zero).ToList(); DanComposite dan = ((TvProgrami)RasporedEmisija).getDan(i); DodajEmisijeDanu(listaEmisija, emisijeSDanimaIPocetkom, dan, listaObrisanih); DodajEmisijeDanu(listaEmisija, emisijeSDanimaBezPocetka, dan, listaObrisanih); DodajEmisijeBezDana(listaEmisija, emisijeBezDanaIBezPocetka, dan); } }
public List <IRasporedEmisija> IspisCijelogRasporeda(TvProgrami program, DanComposite dan) { List <IRasporedEmisija> prikaz = Komponenta.IspisCijelogRasporeda(program, dan); IAbstractIterator iterator = new ConcreateIterator(prikaz); if (iterator.hasNext()) { if (!postaviZaglavlje) { Console.Write(new string('-', 132) + "\n"); Console.Write($"|{"Program",-20}|{"Dan",-15}|{"Naziv Emisije",-40}|{"Pocetak",20}|{"Kraj",20}|{"Redni broj",10}|\n"); Console.Write(new string('-', 132) + "\n"); postaviZaglavlje = true; } } IRasporedEmisija raspored = iterator.First(); while (!iterator.IsDone) { Console.Write($"|{program.Naziv,-20}|{dan.Dan.Naziv,-15}|{((EmitiranjeEmisija)raspored).Emisija.naziv,-40}|{((EmitiranjeEmisija)raspored).Pocetak,20}|{((EmitiranjeEmisija)raspored).Kraj,20}|{((EmitiranjeEmisija)raspored).RedniBroj,10}\n"); raspored = iterator.Next(); } return(null); }
private static void DodajEmisijeDanu(List <EmitiranjeEmisija> listaEmisija, List <Program> emisijeSDanimaIPocetkom, DanComposite dan, List <EmitiranjeEmisija> listaObrisanih) { foreach (var emisija in emisijeSDanimaIPocetkom) { EmitiranjeEmisija _emisija = listaEmisija.FirstOrDefault(e => e.Emisija.Id == emisija.Id); dan.Add(new EmisijaLeaf(_emisija)); listaObrisanih.Add(_emisija); listaEmisija.Remove(_emisija); } listaEmisija.AddRange(listaObrisanih); }
private static void DodajEmisijeBezDana(List <EmitiranjeEmisija> listaEmisija, List <Program> emisijeBezDanaIBezPocetka, DanComposite dan) { if (emisijeBezDanaIBezPocetka.Count != 0) { foreach (var emisija in emisijeBezDanaIBezPocetka.ToList()) { EmitiranjeEmisija _emisija = listaEmisija.FirstOrDefault(e => e.Emisija.Id == emisija.Id); if (_emisija != null) { dan.Add(new EmisijaLeaf(_emisija)); listaEmisija.Remove(_emisija); emisijeBezDanaIBezPocetka.Remove(emisija); } } } }