public static void BrisanjeEmisije() { List <TvProgram> secondList = new List <TvProgram>(); using (var stream = new System.IO.MemoryStream()) { var binaryFormatter = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter(); binaryFormatter.Serialize(stream, TvKuca.Instance.TvProgrami); //serialize to stream stream.Position = 0; //deserialize from stream. secondList = binaryFormatter.Deserialize(stream) as List <TvProgram>; } Console.WriteLine(secondList.Count); var odabirEmisije = 0; Console.WriteLine("Unesite traženi id emisije"); odabirEmisije = int.Parse(Console.ReadLine()); TvKucaMemory m = new TvKucaMemory(); m.Memento = TvKuca.Instance.SpremiRaspored(secondList); m.Memento.DatumPohrane = DateTime.Now; m.Memento.IdPohrane = UcitaniPodaci.ListaPohranjivanja.Count + 1; UcitaniPodaci.ListaPohranjivanja.Add(m); foreach (var program in TvKuca.Instance.TvProgrami) { foreach (var VARIABLE in program.DohvatiDjecu()) { DnevniRaspored dan = VARIABLE as DnevniRaspored; var odabranaEmisija = dan.DohvatiDjecu().Find(c => ((EmisijaRasporeda)c).UnikatniID == odabirEmisije); dan.Obrisi(odabranaEmisija); } } Console.WriteLine(UcitaniPodaci.ListaPohranjivanja.Count); }
private static bool DodajPreostale(TvProgram tvProgram, Emisija emisija, DnevniRaspored raspored) { var krajPrograma = tvProgram.KrajPrograma - emisija.TrajanjeEmisije + new TimeSpan(24, 0, 0); for (var j = tvProgram.PocetakPrograma; j <= krajPrograma; j += new TimeSpan(0, 1, 0)) { if (emisija.PocetakEmitiranjaEmisije + emisija.TrajanjeEmisije > tvProgram.KrajPrograma) { continue; } if (!ProvjeriPreklapanja(j, emisija.TrajanjeEmisije, raspored.DohvatiDjecu().Select(c => (EmisijaRasporeda)c).ToList())) { continue; } var trazenaEmisija = new EmisijaRasporeda { IdEmisije = emisija.Id, PocetakEmisije = j, KrajEmisije = j + emisija.TrajanjeEmisije, NazivEmisije = emisija.NazivEmisije, VrstaEmisije = emisija.VrstaEmisije, UnikatniID = UcitaniPodaci.EmisijaUnikatniID, OsobeUloge = DohvatiSveOsobeUloge(emisija) }; raspored.Dodaj(trazenaEmisija); DohvatiSveOsobeUloge(emisija); UcitaniPodaci.EmisijaUnikatniID++; return(true); } return(false); }
//opcija 1 public static void IspisRasporedaUDanu() { DefaultView pogled = new DefaultView(); BrojivView brojiviPogled = new BrojivView(); Console.WriteLine("SVI RASPOREDI"); foreach (var VARIABLE in TvKuca.Instance.TvProgrami) { var program = VARIABLE.DohvatiDjecu(); foreach (var DnevniRaspored in program) { var dnevni = DnevniRaspored.DohvatiDjecu(); DnevniRaspored dnevniRaspored = (DnevniRaspored)DnevniRaspored; try { // emisija.Ispisi(); if (trenutniPogled == 1) { pogled.IspisiDan(dnevniRaspored.Dan); } if (trenutniPogled == 2) { brojiviPogled.IspisiDan(dnevniRaspored.Dan); } } catch (Exception) { } foreach (var emisija in dnevni) { EmisijaRasporeda odabranaEmisija = (EmisijaRasporeda)emisija; try { // emisija.Ispisi(); if (trenutniPogled == 1) { pogled.IspisiEmisije(odabranaEmisija.IspisiMVC()); } if (trenutniPogled == 2) { brojiviPogled.IspisiEmisije(odabranaEmisija.IspisiMVC()); } } catch (Exception) { } } } } }
//opcija 5 public static void IspisPrihoda() { try { DefaultView pogled = new DefaultView(); BrojivView brojiviPogled = new BrojivView(); PrihodOdReklame.ResetirajSumu(); var odabirPrograma = 0; var odabirDana = 0; if (trenutniPogled == 1) { pogled.OdabirProgramaPrihod(); } if (trenutniPogled == 2) { brojiviPogled.OdabirProgramaPrihod(); } odabirPrograma = int.Parse(Console.ReadLine()) - 1; if (trenutniPogled == 1) { pogled.OdabirDanaPrihod(); } if (trenutniPogled == 2) { brojiviPogled.OdabirDanaPrihod(); } odabirDana = int.Parse(Console.ReadLine()); var program = TvKuca.Instance.TvProgrami[odabirPrograma]; foreach (var VARIABLE in program.DohvatiDjecu()) { DnevniRaspored dan = VARIABLE as DnevniRaspored; if ((int)dan.Dan == odabirDana) { foreach (var emisija in dan.DohvatiDjecu()) { EmisijaRasporeda eRasporeda = emisija as EmisijaRasporeda; eRasporeda.Accept(new PrihodOdReklame()); } } } } catch (Exception) { Console.WriteLine("Greška"); } }
//opcija 6 public static void BrisanjeEmisije() { try { DefaultView pogled = new DefaultView(); BrojivView brojiviPogled = new BrojivView(); List <TvProgram> secondList = new List <TvProgram>(); using (var stream = new MemoryStream()) { var binaryFormatter = new BinaryFormatter(); binaryFormatter.Serialize(stream, TvKuca.Instance.TvProgrami); stream.Position = 0; secondList = binaryFormatter.Deserialize(stream) as List <TvProgram>; } Console.WriteLine(secondList.Count); var odabirEmisije = 0; if (trenutniPogled == 1) { pogled.IspisOdabiraIDEmisije(); } if (trenutniPogled == 2) { brojiviPogled.IspisOdabiraIDEmisije(); } odabirEmisije = int.Parse(Console.ReadLine()); TvKucaMemory m = new TvKucaMemory(); m.Memento = TvKuca.Instance.SpremiRaspored(secondList); m.Memento.DatumPohrane = DateTime.Now; m.Memento.IdPohrane = UcitaniPodaci.ListaPohranjivanja.Count + 1; UcitaniPodaci.ListaPohranjivanja.Add(m); foreach (var program in TvKuca.Instance.TvProgrami) { foreach (var VARIABLE in program.DohvatiDjecu()) { DnevniRaspored dan = VARIABLE as DnevniRaspored; var odabranaEmisija = dan.DohvatiDjecu().Find(c => ((EmisijaRasporeda)c).UnikatniID == odabirEmisije); dan.Obrisi(odabranaEmisija); } } Console.WriteLine(UcitaniPodaci.ListaPohranjivanja.Count); } catch (Exception) { Console.WriteLine("Greška"); } }
private static bool DodajPrioritetne(TvProgram tvProgram, Emisija emisija, DnevniRaspored raspored, out bool dodajEmisijuDnevnomRasporedu) { if (emisija.PocetakEmitiranjaEmisije != null) { //ako emisija traje duže od samog programa if (emisija.PocetakEmitiranjaEmisije + emisija.TrajanjeEmisije > tvProgram.KrajPrograma) { dodajEmisijuDnevnomRasporedu = false; return(true); } if (!ProvjeriPreklapanja(emisija.PocetakEmitiranjaEmisije.Value, emisija.TrajanjeEmisije, raspored.DohvatiDjecu().Select(c => (EmisijaRasporeda)c).ToList())) { dodajEmisijuDnevnomRasporedu = false; return(true); } var trazenaEmisija = new EmisijaRasporeda { IdEmisije = emisija.Id, PocetakEmisije = emisija.PocetakEmitiranjaEmisije.Value, KrajEmisije = emisija.PocetakEmitiranjaEmisije.Value + emisija.TrajanjeEmisije, NazivEmisije = emisija.NazivEmisije, VrstaEmisije = emisija.VrstaEmisije, UnikatniID = UcitaniPodaci.EmisijaUnikatniID, OsobeUloge = DohvatiSveOsobeUloge(emisija) }; DohvatiSveOsobeUloge(emisija); raspored.Dodaj(trazenaEmisija); UcitaniPodaci.EmisijaUnikatniID++; { dodajEmisijuDnevnomRasporedu = true; return(true); } } dodajEmisijuDnevnomRasporedu = false; return(false); }
//Visitor public static void IspisPrihoda() { var odabirPrograma = 0; var odabirDana = 0; Console.WriteLine("Unesite traženi program"); odabirPrograma = int.Parse(Console.ReadLine()) - 1; Console.WriteLine("Unesite traženi dan "); odabirDana = int.Parse(Console.ReadLine()); var program = TvKuca.Instance.TvProgrami[odabirPrograma]; foreach (var VARIABLE in program.DohvatiDjecu()) { DnevniRaspored dan = VARIABLE as DnevniRaspored; if ((int)dan.Dan == odabirDana) { foreach (var emisija in dan.DohvatiDjecu()) { EmisijaRasporeda eRasporeda = emisija as EmisijaRasporeda; eRasporeda.Accept(new PrihodOdReklame()); } } } }
//opcija 8 public static void KoristiChain() { DefaultView pogled = new DefaultView(); BrojivView brojiviPogled = new BrojivView(); Handler h1 = new PrviLink(); Handler h2 = new DrugiLink(); Handler h3 = new TreciLink(); Handler h4 = new CetvrtiLink(); Handler h5 = new PetiLink(); Handler h6 = new ZadnjiLink(); h1.SetSuccessor(h2); h2.SetSuccessor(h3); h3.SetSuccessor(h4); h4.SetSuccessor(h5); h5.SetSuccessor(h6); Console.WriteLine("SVI RASPOREDI"); foreach (var VARIABLE in TvKuca.Instance.TvProgrami) { var program = VARIABLE.DohvatiDjecu(); foreach (var DnevniRaspored in program) { var dnevni = DnevniRaspored.DohvatiDjecu(); DnevniRaspored dnevniRaspored = (DnevniRaspored)DnevniRaspored; try { // emisija.Ispisi(); if (trenutniPogled == 1) { pogled.IspisiDan(dnevniRaspored.Dan); } if (trenutniPogled == 2) { brojiviPogled.IspisiDan(dnevniRaspored.Dan); } } catch (Exception) { } foreach (var emisija in dnevni) { EmisijaRasporeda odabranaEmisija = (EmisijaRasporeda)emisija; try { // emisija.Ispisi(); if (trenutniPogled == 1) { string test = h1.HandleRequest(odabranaEmisija); pogled.IspisiEmisije(h1.HandleRequest(odabranaEmisija)); //pogled.IspisiEmisije(odabranaEmisija.IspisiMVC()); } if (trenutniPogled == 2) { brojiviPogled.IspisiEmisije(h1.HandleRequest(odabranaEmisija)); } } catch (Exception) { } } } } }