public static Dictionary <VrstaOtpada, float> IzracunajUkupanOtpadPodrucjaSIspisom(List <PodrucjeComponent> podpodrucja, bool ispis) { Dictionary <VrstaOtpada, float> otpad = new Dictionary <VrstaOtpada, float>(); foreach (VrstaOtpada vrsta in Enum.GetValues(typeof(VrstaOtpada))) { otpad[vrsta] = 0; } foreach (PodrucjeComponent podrucje in podpodrucja) { if (podrucje.GetType() == typeof(UlicaPodrucja)) { UlicaPodrucja ulica = (UlicaPodrucja)podrucje; if (ispis) { Program.Ispisivac.PromijeniBojuTeksta(ConsoleColor.Cyan); } if (ispis) { Program.Ispisivac.ObavljeniPosao($"ULICA [{ulica.ReferencaUlice.ID}] {ulica.ReferencaUlice.Naziv}"); } foreach (VrstaOtpada vrsta in Enum.GetValues(typeof(VrstaOtpada))) { if (ulica.ReferencaUlice.Otpad.ContainsKey(vrsta)) { if (ispis) { Program.Ispisivac.ObavljeniPosao($"{vrsta}: {ulica.ReferencaUlice.Otpad[vrsta]}kg"); } otpad[vrsta] += ulica.ReferencaUlice.Otpad[vrsta]; } } if (ispis) { Program.Ispisivac.ObavljeniPosao(""); } } else if (podrucje.GetType() == typeof(Podrucje)) { Podrucje podPodrucje = (Podrucje)podrucje; Dictionary <VrstaOtpada, float> otpadPodpodrucja = IzracunajUkupanOtpadPodrucjaSIspisom(podPodrucje.podrucja, ispis); foreach (VrstaOtpada vrsta in Enum.GetValues(typeof(VrstaOtpada))) { if (otpadPodpodrucja.ContainsKey(vrsta)) { otpad[vrsta] += otpadPodpodrucja[vrsta]; } } } } return(otpad); }
public static void DodijeliPotpodrucja() { //postavljanje podpodrucja foreach (Podrucje podrucje in Citac.ListaPodrucja) { if (podrucje.Id.StartsWith('u')) { Ulica ulica = Citac.ListaUlica.FirstOrDefault(p => p.Id == podrucje.Id); UlicaPodrucja up = new UlicaPodrucja(podrucje.Id, podrucje.Naziv, ulica); listUlicaPod.Add(up); } else { PodrucjeCom podrucjeK = new PodrucjeCom(podrucje.Id, podrucje.Naziv); listaCom.Add(podrucjeK); } } foreach (var podrucjeComposit in listaCom) { Podrucje podrucje = Citac.ListaPodrucja.FirstOrDefault(pod => pod.Id == podrucjeComposit.PodrucjeID); foreach (var dioPodrucjaId in podrucje.Dio) { if (dioPodrucjaId.StartsWith('u')) { Ulica ulicaObjekt = new Ulica(); foreach (var ulica in Citac.ListaUlica) { if (ulica.Id == dioPodrucjaId) { ulicaObjekt = ulica; } } UlicaPodrucja ulicaPodrucjaObjekt = new UlicaPodrucja(dioPodrucjaId, ulicaObjekt.Naziv, ulicaObjekt); if (ulicaPodrucjaObjekt != null) { podrucjeComposit.Dodijeli(ulicaPodrucjaObjekt); } } else { PodrucjeCom podrucjeObjekt = listaCom.FirstOrDefault(pod => pod.PodrucjeID == dioPodrucjaId); if (podrucjeObjekt != null) { podrucjeComposit.Dodijeli(podrucjeObjekt); } } } } }
public static void IspisPodrucjaComposite() { IspisKonzola.IspisUvjetni(""); IspisKonzola.IspisUvjetni("Ispis područja: "); foreach (var podrucje in DodjelaPodrucja.listaCom) { podrucje.Ispis(1); break; } foreach (var ulica in DodjelaPodrucja.listUlicaPod) { Podrucje podrucje = Citac.ListaPodrucja.FirstOrDefault(p => p.Id == ulica.PodrucjeID); if (podrucje != null) { podrucje.listaUlica.Add(ulica); } } IspisKonzola.IspisUvjetni(""); }
public static List <Podrucje> PripremiPodrucja(List <PodrucjeRedak> podrucjaPopisRetci) { List <Podrucje> podrucja = new List <Podrucje>(); foreach (PodrucjeRedak podrucjeRedak in podrucjaPopisRetci) { Podrucje novoPodrucje = new Podrucje(podrucjeRedak.ID, podrucjeRedak.Naziv); podrucja.Add(novoPodrucje); } foreach (Podrucje podrucje in podrucja) { PodrucjeRedak podrucjeRedak = podrucjaPopisRetci.FirstOrDefault(p => p.ID == podrucje.PodrucjeID); foreach (string dioID in podrucjeRedak.Dijelovi) { if (Pomocno.DioPodrucjaJeUlica(dioID)) { Ulica ulica = Program.Ulice.FirstOrDefault(u => u.ID == dioID); if (ulica != null) { UlicaPodrucja ulicaPodrucja = new UlicaPodrucja(dioID, ulica.Naziv, ulica); podrucje.Dodijeli(ulicaPodrucja); } } else { Podrucje podPodrucje = podrucja.FirstOrDefault(p => p.PodrucjeID == dioID); if (podPodrucje != null) { podrucje.Dodijeli(podPodrucje); } } } } return(podrucja); }
public void UcitajPodrucja(string[] sadrzajDatoteke) { foreach (string red in sadrzajDatoteke.Skip(1)) { try { string[] polje = red.Split(';'); if (polje.Length == 3) { Podrucje podrucje = new Podrucje(polje); ListaPodrucja.Add(podrucje); } else { IspisKonzola.IspisUvjetni("Neispravan redak! " + red); } } catch (Exception ex) { IspisKonzola.IspisUvjetni("Neispravan redak!!!! " + red + ex.Message); } } }