public ActionResult Create([Bind(Include = "gruppenid,bezeichnung,beschreibung,privat")] Gruppe gruppe)
        {
            if (ModelState.IsValid)
            {
                //angemeldeter User ist Verantwortlicher
                var userId = User.Identity.GetUserId();
                gruppe.verantwortlicher = userId;
                db.Gruppes.Add(gruppe);

                db.SaveChanges();

                // Mitgliedschaft herstellen
                Gruppe neu = db.Gruppes.OrderByDescending(p => p.gruppenid).FirstOrDefault(); // neue gruppenid ermitteln

                MitgliederGruppe mg = new MitgliederGruppe();
                mg.gruppenid = neu.gruppenid;
                mg.userid    = userId;
                db.MitgliederGruppes.Add(mg);

                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(gruppe));
        }
        // Ermöglicht das Austreten des angemeldeten Users aus einer Gruppe
        // POST: MitgliederGruppe/Delete/5
        public ActionResult Austreten(int?gruppenid)
        {
            var userid = User.Identity.GetUserId();
            var ok     = false;
            var id     = 0;

            foreach (MitgliederGruppe mit in db.MitgliederGruppes)
            {
                if (mit.userid == userid && mit.gruppenid == gruppenid)
                {
                    ok = true;
                    id = mit.id;
                }
            }

            if (ok)
            {
                MitgliederGruppe mitgliederGruppe = db.MitgliederGruppes.Find(id);
                db.MitgliederGruppes.Remove(mitgliederGruppe);
                db.SaveChanges();
                return(RedirectToAction("Index", "Gruppe"));
            }
            else
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
        }
        // Funktionalität zum Hinzfügen neuer Mitglieder zu einer Gruppe
        // Fügt den angemeldeten User einer (öffentlichen) Gruppe hinzu
        // ~~Import: userid
        // ~~Export: nichts oder BadRequest View
        // GET: MitgliederGruppe/Beitreten
        public ActionResult Beitreten(int?gruppenid)
        {
            MitgliederGruppe mg = new MitgliederGruppe();

            mg.userid    = User.Identity.GetUserId();
            mg.gruppenid = (int)gruppenid;

            //Falls die Gruppenid nicht gesetzt ist, Fehler melden
            if (gruppenid == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            else

            //Wenn alles okay ist, speichere einen neuen Eintrag in der MitgliederGruppe Tabelle und
            //leite zur Index Seite von Gruppen um
            if (ModelState.IsValid)
            {
                db.MitgliederGruppes.Add(mg);
                db.SaveChanges();
                return(RedirectToAction("Index", "Gruppe"));
            }
            else
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
        }
        // Ermöglicht das Löschen eines Gruppenmitglieds
        // POST: MitgliederGruppe/Delete/5
        public ActionResult Delete(int id)
        {
            MitgliederGruppe mitgliederGruppe = db.MitgliederGruppes.Find(id);

            db.MitgliederGruppes.Remove(mitgliederGruppe);
            db.SaveChanges();
            return(RedirectToAction("Index", "MitgliederGruppe", new { gruppenid = mitgliederGruppe.gruppenid }));
        }