Ejemplo n.º 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);
        }
Ejemplo n.º 2
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);
        }