private static void DodajEmisijeBezIcega(
            TvProgram program, List <VremenskiPlan> listaEmisijeBezIcega)
        {
            TvKucaSingleton tvKuca = TvKucaSingleton.GetTvKucaInstance();

            foreach (VremenskiPlan plan in listaEmisijeBezIcega)
            {
                Emisija trazena = tvKuca.ListaEmisija.Find(x => x.GetId() == plan.GetEmisijaId());
                if (trazena == null)
                {
                    IspisHelper.EmisijaNePostoji(plan.GetEmisijaId());
                    break;
                }
                bool uspioDodati = false;
                for (int i = 0; i < program.GetTjedan().Count; i++)
                {
                    if (program.GetTjedan()[i].GetChildList().Count == 0)
                    {
                        DodajEmisijuNaPocetakPrograma(program, trazena, plan, (i + 1));
                        uspioDodati = true;
                        break;
                    }
                    else if (program.GetTjedan()[i].GetChildList().Count == 1)
                    {
                        if (UspioDodatPrijePrve(program, trazena, plan, (i + 1)))
                        {
                            uspioDodati = true;
                            break;
                        }
                        else if (UspioDodatNakonZadnje(program, trazena, plan, (i + 1)))
                        {
                            uspioDodati = true;
                            break;
                        }
                    }
                    else
                    {
                        if (UspioDodatPrijePrve(program, trazena, plan, (i + 1)))
                        {
                            uspioDodati = true;
                            break;
                        }
                        else if (UspioDodatiIzmeduDvije(program, trazena, plan, (i + 1)))
                        {
                            uspioDodati = true;
                            break;
                        }
                        else if (UspioDodatNakonZadnje(program, trazena, plan, (i + 1)))
                        {
                            uspioDodati = true;
                            break;
                        }
                    }
                }
                if (!uspioDodati)
                {
                    IspisHelper.EmisijaNemoguceDodati(plan.GetEmisijaId(), program.GetNaziv());
                }
            }
        }
Exemple #2
0
        public void PrikaziPodatke()
        {
            string osobeUloge = IspisHelper.DohvatiOsobeUloge(ListaOsobaUloga);
            string nazivVrste = IspisHelper.DohvatiNazivVrsteEmisije(Vrsta);

            IspisHelper.Brojac = 0;
            IRedakTablice redakTablice =
                new KratkiTekstDecorator(
                    new KratkiTekstDecorator(
                        new KratkiTekstDecorator(
                            new CjelobrojniDecorator(
                                new CjelobrojniDecorator(
                                    new CjelobrojniDecorator(
                                        new TekstualniDecorator(
                                            new TekstualniDecorator(
                                                new TekstualniDecorator(
                                                    new ConcreteRedak())))))))));
            string format = redakTablice.NapraviRedak();
            string ispis  = String.Format(format, "\n" + new String('.', 176),
                                          VrijemePrikazivanja.AddMinutes(Trajanje).ToShortTimeString(),
                                          VrijemePrikazivanja.ToShortTimeString(),
                                          Trajanje, Id, RedniBroj + ".", osobeUloge, nazivVrste, Naziv);

            Console.WriteLine(ispis);
        }
Exemple #3
0
        /// <summary>
        /// Metoda služi za filtriranje ispravnih zapisa vremenskih planova pojedinog TV programa
        /// </summary>
        /// <param name="nizRedaka">Input niz</param>
        /// <param name="splitter">Splitter char</param>
        /// <returns>Vraća listu ispravnog vremenskog plana</returns>
        public static List <VremenskiPlan> DohvatiVremenskiPlan(string[] nizRedaka, char splitter)
        {
            List <VremenskiPlan> vremenskiPlanLista = new List <VremenskiPlan>();

            string[] atributiZaglavlja = nizRedaka[0].Split(splitter);
            for (int i = 1; i < nizRedaka.Length; i++)
            {
                int      brojGresaka      = 0;
                string[] privremeniObjekt = nizRedaka[i].Split(splitter);
                if (privremeniObjekt.Length < 2)
                {
                    brojGresaka++;
                }
                else if (!IspravanId(privremeniObjekt[0]))
                {
                    brojGresaka++;
                }

                if (brojGresaka != 0)
                {
                    IspisHelper.IspisGreskeRedak(i, nizRedaka[i]);
                }
                else
                {
                    vremenskiPlanLista.Add(IzradiVremenskiPlan(privremeniObjekt));
                }
            }
            return(vremenskiPlanLista);
        }
Exemple #4
0
        /// <summary>
        /// Metoda koja služi za filtriranje ispravnih zapisa o osobama iz niza redaka osoba
        /// </summary>
        /// <param name="nizRedaka">Input niz</param>
        /// <param name="splitter">Splitter char</param>
        /// <returns>Vraća listu ispravnih zapisa uloga</returns>
        public static List <Uloga> DohvatiIspravneUloge(string[] nizRedaka, char splitter)
        {
            List <Uloga> izlaznaLista = new List <Uloga>();

            string[] atributiZaglavlja = nizRedaka[0].Split(splitter);
            for (int i = 1; i < nizRedaka.Length; i++)
            {
                int      brojGresaka      = 0;
                string[] privremeniObjekt = nizRedaka[i].Split(splitter);
                if (!ProvjeriBrojAtributa(privremeniObjekt, atributiZaglavlja.Length))
                {
                    brojGresaka++;
                }
                else if (!IspravanId(privremeniObjekt[0]))
                {
                    brojGresaka++;
                }
                else if (!IspravanTekstualniPodatak(privremeniObjekt[1]))
                {
                    brojGresaka++;
                }

                if (brojGresaka != 0)
                {
                    IspisHelper.IspisGreskeRedak(i, nizRedaka[i]);
                }
                else
                {
                    izlaznaLista.Add(IzradiUlogu(privremeniObjekt));
                }
            }
            return(izlaznaLista);
        }
        private static void DodajEmisijeJedanIliViseDana(
            TvProgram program, List <VremenskiPlan> listaEmisijeViseDana)
        {
            TvKucaSingleton tvKuca = TvKucaSingleton.GetTvKucaInstance();

            foreach (VremenskiPlan plan in listaEmisijeViseDana)
            {
                foreach (int brojDana in plan.GetListaDanaEmitiranja())
                {
                    bool    uspioDodati = false;
                    Emisija trazena     = tvKuca.ListaEmisija.Find(x => x.GetId() == plan.GetEmisijaId());
                    if (trazena == null)
                    {
                        IspisHelper.EmisijaNePostoji(plan.GetEmisijaId());
                        break;
                    }
                    if (program.GetTjedan()[brojDana - 1].GetChildList().Count == 0)
                    {
                        DodajEmisijuNaPocetakPrograma(program, trazena, plan, brojDana);
                        uspioDodati = true;
                    }
                    else if (program.GetTjedan()[brojDana - 1].GetChildList().Count == 1)
                    {
                        if (UspioDodatPrijePrve(program, trazena, plan, brojDana))
                        {
                            uspioDodati = true;
                        }
                        else if (UspioDodatNakonZadnje(program, trazena, plan, brojDana))
                        {
                            uspioDodati = true;
                        }
                    }
                    else
                    {
                        if (UspioDodatPrijePrve(program, trazena, plan, brojDana))
                        {
                            uspioDodati = true;
                        }
                        else if (UspioDodatiIzmeduDvije(program, trazena, plan, brojDana))
                        {
                            uspioDodati = true;
                        }
                        else if (UspioDodatNakonZadnje(program, trazena, plan, brojDana))
                        {
                            uspioDodati = true;
                        }
                    }

                    if (!uspioDodati)
                    {
                        IspisHelper.EmisijaNemoguceDodati(
                            plan.GetEmisijaId(), brojDana, program.GetNaziv());
                    }
                }
            }
        }
        static void Main(string[] args)
        {
            DatotekeHelper.ProvjeraUlaznihParametara(args);

            DatotekeHelper.UcitajPodatkeDatotekeTvKuce(args);
            DatotekeHelper.UcitajPodatkeDatotekeOsoba(args);
            DatotekeHelper.UcitajPodatkeDatotekeUloga(args);
            DatotekeHelper.UcitajPodatkeDatotekeVrsteEmisija(args);
            DatotekeHelper.UcitajPodatkeDatotekeEmisija(args);
            DatotekeHelper.UcitajPodatkeDatotekaTvPrograma();

            TjedniPlanHelper.PopunjavanjeTjednogRasporeda();

            IspisHelper.PrikazGlavnogIzbornika();

            Console.ReadLine();
        }
Exemple #7
0
        public static List <VrstaEmisije> DohvatiIspravneVrsteEmisija(
            string[] nizRedaka, char splitter)
        {
            List <VrstaEmisije> vrsteEmisijeLista = new List <VrstaEmisije>();

            string[] atributiZaglavlja = nizRedaka[0].Split(splitter);
            for (int i = 1; i < nizRedaka.Length; i++)
            {
                int      brojGresaka      = 0;
                string[] privremeniObjekt = nizRedaka[i].Split(splitter);
                if (!ProvjeriBrojAtributa(privremeniObjekt, atributiZaglavlja.Length))
                {
                    brojGresaka++;
                }
                else if (!IspravanId(privremeniObjekt[0]))
                {
                    brojGresaka++;
                }
                else if (!IspravanTekstualniPodatak(privremeniObjekt[1]))
                {
                    brojGresaka++;
                }
                else if (!IspravanPodatakMozeImatReklame(privremeniObjekt[2]))
                {
                    brojGresaka++;
                }
                else if (!IspravnoMaxTrajanjeReklama(privremeniObjekt[3]))
                {
                    brojGresaka++;
                }

                if (brojGresaka != 0)
                {
                    IspisHelper.IspisGreskeRedak(i, nizRedaka[i]);
                }
                else
                {
                    vrsteEmisijeLista.Add(IzradiVrstuEmisije(privremeniObjekt));
                }
            }
            return(vrsteEmisijeLista);
        }