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 })); }