private Entsorgung findeErsteEntsorgung(Abfallart abfallart)
        {
            Entsorgung result = null;

            foreach (var einzelEntsorgung in this.entsorgungen)
            {
                if (einzelEntsorgung.istAbfallart(abfallart))
                {
                    if (MainViewModel.ZonenEinschraenkung.IstFuerAlle)
                    {
                        result = einzelEntsorgung;
                        break;
                    }
                    else
                    {
                        if (einzelEntsorgung.istFuerZone(MainViewModel.ZonenEinschraenkung))
                        {
                            result = einzelEntsorgung;
                            break;
                        }
                    }
                }
            }

            return result;
        }
        private string NaechsteEntsorgung(Abfallart fuerAbfallart)
        {
            string result = null;

            if (this.naechsteEntsorgungen != null && this.naechsteEntsorgungen.ContainsKey(fuerAbfallart))
            {
                Dictionary<Zone, DateTime> zonenDaten = this.FindeZonedatenNaechsteEntsorgung(fuerAbfallart);

                if (!this.NaechsteEntsorgungFuerAlleZonen(zonenDaten))
                {
                    foreach (Zone zonenlisteneintrag in Zone.Zonenliste)
                    {
                        if (!zonenlisteneintrag.IstFuerAlle && zonenDaten.ContainsKey(zonenlisteneintrag))
                        {
                            if (result != null && result.Length > 0)
                                result += " ";

                            result += zonenlisteneintrag.Kennzeichen + ": " + String.Format("{0:d}", zonenDaten[zonenlisteneintrag]);
                        }
                    }
                }
                else
                {
                    var enumer = zonenDaten.Values.GetEnumerator();
                    enumer.MoveNext();

                    result = String.Format("{0:d}", enumer.Current);
                }
            }

            return result;
        }
        public bool istAbfallart(Abfallart abfallart)
        {
            bool result = false;

            if (this.abfallart != null && abfallart != null)
            {
                result = this.abfallart == abfallart;
            }

            return result;
        }
        private Dictionary<Zone, DateTime> FindeZonedatenNaechsteEntsorgung(Abfallart fuerAbfallart)
        {
            Dictionary<Zone, DateTime> zonenDaten = this.naechsteEntsorgungen[fuerAbfallart];

            if (zonenDaten != null && !ZonenEinschraenkung.IstFuerAlle)
            {
                Dictionary<Zone, DateTime> zuzeigendeZoneDaten = new Dictionary<Zone, DateTime>();
                if (zonenDaten.ContainsKey(ZonenEinschraenkung))
                    zuzeigendeZoneDaten.Add(ZonenEinschraenkung, zonenDaten[ZonenEinschraenkung]);

                zonenDaten = zuzeigendeZoneDaten;
            }

            return zonenDaten;
        }