Example #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);
        }
Example #2
0
        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);
        }
Example #3
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)
                        {
                        }
                    }
                }
            }
        }
Example #4
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");
            }
        }
Example #5
0
        //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");
            }
        }
Example #6
0
        public static bool UcitajDatoteke(string[] args)
        {
            Console.WriteLine("Započinjem s učitavanjem podataka...");
            var pocetnaProvjeraDatoteka = ProvjeraDatotekeSingleton.GetInstance.ProvjeriDatoteke(args.ToList());

            Console.WriteLine();
            if (pocetnaProvjeraDatoteka)
            {
                var listaArgumenata = args.ToList();
                UcitaniPodaci.UcitajOsobe(listaArgumenata);
                UcitaniPodaci.UcitajUloge(listaArgumenata);
                UcitaniPodaci.UcitajVrste(listaArgumenata);
                UcitaniPodaci.UcitajPrograme(listaArgumenata);
                UcitaniPodaci.UcitajEmisije(listaArgumenata);
                TvProgram.DodajPopunjenjePrograme();
                DnevniRaspored.KreirajRaspored();
            }

            return(pocetnaProvjeraDatoteka);
        }
Example #7
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);
        }
Example #8
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());
                    }
                }
            }
        }
Example #9
0
        public static bool DodajEmisijuDnevnomRasporedu(TvProgram tvProgram, Emisija emisija, DnevniRaspored raspored,
                                                        Dan i)
        {
            if (ProvjeriPripadnostEmisijeProgramu(tvProgram, emisija) == false)
            {
                return(false);
            }
            var daniEmisije = emisija.Dani.Count > 0;

            //ako ima dane, a trenutni dan nije taj dan
            if (daniEmisije && !emisija.Dani.Contains(i))
            {
                Console.WriteLine("Emisija se ne izvodi u odabranom danu");
                return(false);
            }
            //prioritet emisije 1. ( emisija ima i dan i pocetak emitiranja
            if (DodajPrioritetne(tvProgram, emisija, raspored, out var dodajEmisijuDnevnomRasporedu))
            {
                return(dodajEmisijuDnevnomRasporedu);
            }
            //za sve ostale
            if (DodajPreostale(tvProgram, emisija, raspored))
            {
                return(true);
            }

            return(false);
        }
Example #10
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)
                        {
                        }
                    }
                }
            }
        }