Example #1
0
        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;
                            }
                        }
                    }
                }
            }
        }
Example #2
0
        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);
        }
Example #3
0
        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);
                        }
                    }
                }
            }
        }
Example #4
0
        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);
        }