public static void DodajPodrucjaUUlice() { foreach (var ulica in Citac.ListaUlica) { foreach (var podrucjeNajdonjeRazine in DodjelaPodrucja.listaCom) { UlicaPodrucja ulicaNadjena = (UlicaPodrucja)podrucjeNajdonjeRazine.podrucja.FirstOrDefault(u => u.PodrucjeID == ulica.Id); if (ulicaNadjena == null) { continue; } podrucjeNajdonjeRazine.ulicaPodrucja.Add(ulicaNadjena); PodrucjeCom podrucjeIduceRazine = new PodrucjeCom("", ""); var podrucjeNajdonjeRazinePom = podrucjeNajdonjeRazine; while (podrucjeIduceRazine != null) { foreach (var podrucjeKompozita in DodjelaPodrucja.listaCom) { podrucjeIduceRazine = (PodrucjeCom)podrucjeKompozita.podrucja.FirstOrDefault(p => p.PodrucjeID == podrucjeNajdonjeRazinePom.PodrucjeID); if (podrucjeIduceRazine != null) { podrucjeKompozita.ulicaPodrucja.Add(ulicaNadjena); podrucjeNajdonjeRazinePom = podrucjeKompozita; break; } } } } } }
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 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); }