public void Save()
        {
            ValidateBuchung(true);
            // Overwrite Modified Items (Buchung)
            foreach (Buchung buchung in BuchungCollection)
            {
                Buchung dbitem = mDao.mKino.Buchung.Where(o => o.ID == buchung.ID).FirstOrDefault <Buchung>();
                if (dbitem.Email != buchung.Email || dbitem.Name != buchung.Name || dbitem.PlatzNr != buchung.PlatzNr || dbitem.VorfuehrungID != buchung.VorfuehrungID)
                {
                    SetBuchungItem(dbitem, buchung);
                }
            }
            // Added items
            foreach (Buchung buchung in BuchungCollection)
            {
                Buchung dbitem = mDao.mKino.Buchung.Where(o => o.ID == buchung.ID).FirstOrDefault <Buchung>();
                if (dbitem == null)
                {
                    mDao.mKino.Buchung.Add(buchung);
                }
            }
            // Removed items
            List <Buchung> delItemsB = new List <Buchung>();

            foreach (Buchung dbitem in mDao.mKino.Buchung)
            {
                Buchung buchung = BuchungCollection.Where(o => o.ID == dbitem.ID).FirstOrDefault <Buchung>();
                if (buchung == null)
                {
                    delItemsB.Add(dbitem);
                }
            }
            foreach (Buchung delItem in delItemsB)
            {
                mDao.mKino.Buchung.Remove(delItem);
            }

            // Overwrite Modified Items (Vorfuehrung)
            foreach (Vorfuehrung vorfuehrung in VorfuehrungCollection)
            {
                Vorfuehrung dbitem = mDao.mKino.Vorfuehrung.Where(o => o.ID == vorfuehrung.ID).FirstOrDefault <Vorfuehrung>();
                if (dbitem.Bezeichnung != vorfuehrung.Bezeichnung || dbitem.Datum != vorfuehrung.Datum || dbitem.FilmID != vorfuehrung.FilmID || dbitem.SaalID != vorfuehrung.SaalID)
                {
                    SetVorfuehrungItem(dbitem, vorfuehrung);
                }
            }
            // Added items
            foreach (Vorfuehrung vorfuehrung in VorfuehrungCollection)
            {
                Vorfuehrung dbitem = mDao.mKino.Vorfuehrung.Where(o => o.ID == vorfuehrung.ID).FirstOrDefault <Vorfuehrung>();
                if (dbitem == null)
                {
                    mDao.mKino.Vorfuehrung.Add(vorfuehrung);
                }
            }
            // Removed items
            List <Vorfuehrung> delItemsV = new List <Vorfuehrung>();

            foreach (Vorfuehrung dbitem in mDao.mKino.Vorfuehrung)
            {
                Vorfuehrung vorfuehrung = VorfuehrungCollection.Where(o => o.ID == dbitem.ID).FirstOrDefault <Vorfuehrung>();
                if (vorfuehrung == null)
                {
                    delItemsV.Add(dbitem);
                }
            }
            foreach (Vorfuehrung delItem in delItemsV)
            {
                mDao.mKino.Vorfuehrung.Remove(delItem);
            }

            // Overwrite Modified Items
            foreach (Saal saal in SaalCollection)
            {
                Saal dbitem = mDao.mKino.Saal.Where(o => o.ID == saal.ID).FirstOrDefault <Saal>();
                if ((dbitem.AnzahlPlaetze != saal.AnzahlPlaetze) || dbitem.Bezeichnung != saal.Bezeichnung || dbitem.Dreidimensional != saal.Dreidimensional)
                {
                    SetSaalItem(dbitem, saal);
                }
            }
            // Added items
            foreach (Saal saal in SaalCollection)
            {
                Saal dbitem = mDao.mKino.Saal.Where(o => o.ID == saal.ID).FirstOrDefault <Saal>();
                if (dbitem == null)
                {
                    mDao.mKino.Saal.Add(saal);
                }
            }
            // Removed items
            List <Saal> delItemsS = new List <Saal>();

            foreach (Saal dbitem in mDao.mKino.Saal)
            {
                Saal saal = SaalCollection.Where(o => o.ID == dbitem.ID).FirstOrDefault <Saal>();
                if (saal == null)
                {
                    delItemsS.Add(dbitem);
                }
            }
            foreach (Saal delItem in delItemsS)
            {
                mDao.mKino.Saal.Remove(delItem);
            }

            // Overwrite Modified Items (Film)
            foreach (Film film in FilmCollection)
            {
                Film dbitem = mDao.mKino.Film.Where(o => o.ID == film.ID).FirstOrDefault <Film>();
                if (dbitem.Bezeichnung != film.Bezeichnung || dbitem.Dauer != film.Dauer || dbitem.FSK18 != film.FSK18 || dbitem.Preis != film.Preis)
                {
                    SetFilmItem(dbitem, film);
                }
            }
            // Added items
            foreach (Film film in FilmCollection)
            {
                Film dbitem = mDao.mKino.Film.Where(o => o.ID == film.ID).FirstOrDefault <Film>();
                if (dbitem == null)
                {
                    mDao.mKino.Film.Add(film);
                }
            }
            // Removed items
            List <Film> delItemsF = new List <Film>();

            foreach (Film dbitem in mDao.mKino.Film)
            {
                Film film = FilmCollection.Where(o => o.ID == dbitem.ID).FirstOrDefault <Film>();
                if (film == null)
                {
                    delItemsF.Add(dbitem);
                }
            }
            foreach (Film delItem in delItemsF)
            {
                mDao.mKino.Film.Remove(delItem);
            }
            mDao.Save();
        }