Beispiel #1
0
        public static IEnumerable <Emisija> PopuniPrograme(string putanjaRasporeda)
        {
            var emisije        = new List <Emisija>();
            var ucitaneEmisije = UcitajEmisijePrograma(putanjaRasporeda);

            foreach (var VARIABLE in ucitaneEmisije.Distinct())
            {
                var pomocna = VARIABLE.Split(';');
                var id      = int.Parse(pomocna[0].Trim());
                if (UcitaniPodaci.UcitaneEmisije.Count(a => a.Id == id) < 1)
                {
                    continue;
                }
                var emisija = UcitaniPodaci.UcitaneEmisije.First(e => e.Id == id).Clone();
                emisija.Dani         = DanPomoc.KreirajDane(pomocna[1].Trim());
                emisija.VrstaEmisije = UcitaniPodaci.UcitaneEmisije.First(v => v.Id == id).VrstaEmisije;
                //ako postoji pocetak
                if (pomocna[2].Trim() != string.Empty)
                {
                    emisija.PocetakEmitiranjaEmisije = DateTime.Parse(pomocna[2].Trim());
                }

                if (pomocna[3].Trim() != string.Empty)
                {
                    var direktor = new EmisijeBuilderDirector(new EmisijeBuilder());
                    direktor.KreirajEmisiju(1, null, null, new TimeSpan(0, 0, 0), pomocna[3].Trim());
                    var testna = direktor.IzgradiEmisija();
                    emisija.UlogeOsoba.AddRange(testna.UlogeOsoba);
                }
                emisije.Add(emisija);
                UcitaniPodaci.DohvatiOsobuUlogu(emisija);
            }
            return(emisije);
        }
 public void UcitajDatoteku()
 {
     string[] lines;
     if (File.Exists(UcitaniPodaci.EmisijaPutanja))
     {
         lines = File.ReadAllLines(UcitaniPodaci.EmisijaPutanja);
         for (var i = 1; i < lines.Length; i++)
         {
             var          id           = 0;
             var          nazivEmisije = "";
             VrstaEmisije vrstaEmsije;
             int          trajanjeEmisijeMinute;
             TimeSpan     trajaneEmisije;
             var          osobaUloga = "";
             var          count      = lines[i].Split(';').Length - 1;
             if (!lines[i].Contains(';') || count != 4)
             {
                 Console.WriteLine("Red je krivom formatu, molim vas koristite ; kao delimiter");
             }
             else if (Regex.IsMatch(lines[i].Split(';')[0], @"^\d+$") &&
                      Regex.IsMatch(lines[i].Split(';')[3], @"^\d+$"))
             {
                 id           = int.Parse(lines[i].Split(';')[0]);
                 nazivEmisije = lines[i].Split(';')[1];
                 var IdVrste = int.Parse(lines[i].Split(';')[2]);
                 vrstaEmsije           = UcitaniPodaci.UcitaneVrsteEmisija.First(v => v.Id == IdVrste);
                 trajanjeEmisijeMinute = int.Parse(lines[i].Split(';')[3]);
                 trajaneEmisije        = new TimeSpan(0, trajanjeEmisijeMinute, 0);
                 osobaUloga            = lines[i].Split(';')[4];
                 var direktor = new EmisijeBuilderDirector(new EmisijeBuilder());
                 direktor.KreirajEmisiju(id, vrstaEmsije, nazivEmisije, trajaneEmisije, osobaUloga);
                 var testna = direktor.IzgradiEmisija();
                 UcitaniPodaci.DohvatiOsobuUlogu(testna);
                 UcitaniPodaci.UcitaneEmisije.Add(testna);
             }
         }
     }
     else
     {
         Console.WriteLine("Putanja datoteke s emisijama nije dobra");
     }
 }