Пример #1
0
        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);
        }
Пример #2
0
        //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)
                        {
                        }
                    }
                }
            }
        }
Пример #3
0
        //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");
            }
        }
Пример #4
0
        public override string HandleRequest(EmisijaRasporeda request)
        {
            string povratna = "treci";

            if (request.UnikatniID % 5 == 2)
            {
                povratna = (request.IspisiMVC() + "TRECI");
                return(povratna);
            }
            else if (successor != null)
            {
                successor.HandleRequest(request);
                povratna = successor.HandleRequest(request);
            }

            return(povratna);
        }
Пример #5
0
        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);
        }
Пример #6
0
        public void Visit(Element element)
        {
            EmisijaRasporeda emisija = element as EmisijaRasporeda;

            if (emisija.VrstaEmisije.MaksTrajanjeReklame >= 1)
            {
                if (Controller.trenutniPogled == 2)
                {
                    BrojivView.IspisiPocetniBroj();
                }
                emisija.Ispisi();
                suma = emisija.VrstaEmisije.MaksTrajanjeReklame + suma;
                if (Controller.trenutniPogled == 2)
                {
                    BrojivView.IspisiPrihodEmisije("Prihodi od emisija: " + suma);
                }

                if (Controller.trenutniPogled == 1)
                {
                    DefaultView.IspisiPrihodEmisije("Prihodi od emisija: " + suma);
                }
            }
        }
Пример #7
0
        //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());
                    }
                }
            }
        }
Пример #8
0
        //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)
                        {
                        }
                    }
                }
            }
        }
Пример #9
0
        public override string HandleRequest(EmisijaRasporeda request)
        {
            string povratna = "Unlucky(Kraj lanca)";

            return(povratna);
        }
Пример #10
0
 public abstract string HandleRequest(EmisijaRasporeda request);