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"); } }