public ActionResult Create([Bind(Include = "lehrstuhlid,bezeichnung,beschreibung,privat")] Lehrstuhl lehrstuhl) { if (ModelState.IsValid) { //angemeldeter User ist Verantwortlicher var userId = User.Identity.GetUserId(); lehrstuhl.verantwortlicher = userId; db.Lehrstuhls.Add(lehrstuhl); db.SaveChanges(); // Mitgliedschaft herstellen Lehrstuhl neu = db.Lehrstuhls.OrderByDescending(p => p.lehrstuhlid).FirstOrDefault(); // neue lehrstuhlid ermitteln MitarbeiterLehrstuhl mg = new MitarbeiterLehrstuhl(); mg.lehrstuhlid = neu.lehrstuhlid; mg.userid = userId; db.MitarbeiterLehrstuhls.Add(mg); db.SaveChanges(); return(RedirectToAction("Index")); } return(View(lehrstuhl)); }
// Funktionalität zum Hinzfügen neuer Mitarbeiter zu einem Lehrstuhl // Fügt eine aus der Liste ausgwählte Perosn zum entsprechenden Lehrstuhl hinzu // ~~Import: lehrstuhlid, userid // ~~Export: nichts oder BadRequest View // GET: MitarbeiterLehrstuhl/AddPerson public ActionResult AddPerson(int?lehrstuhlid, string id) { MitarbeiterLehrstuhl mg = new MitarbeiterLehrstuhl(); mg.userid = id; mg.lehrstuhlid = (int)lehrstuhlid; //Falls die lehrstuhlid oder die UserID nicht gesetzt ist, Fehler melden if (lehrstuhlid == null || id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } else //Wenn alles okay ist, speichere einen neuen Eintrag in der MitarbeiterLehrstuhl Tabelle und //leite zur Index Seite von Lerhstuhl um if (ModelState.IsValid) { db.MitarbeiterLehrstuhls.Add(mg); db.SaveChanges(); return(RedirectToAction("Index", "Lehrstuhl")); } else { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } }
// Ermöglicht das Entfernen eines Mitarbeiters (Import: id der Verknüpfung, Export: -) // POST: MitarbeiterLehrstuhl/Delete/5 public ActionResult Delete(int id) { MitarbeiterLehrstuhl mitarbeiterLehrstuhl = db.MitarbeiterLehrstuhls.Find(id); db.MitarbeiterLehrstuhls.Remove(mitarbeiterLehrstuhl); db.SaveChanges(); return(RedirectToAction("Index", "MitarbeiterLehrstuhl", new { lehrstuhlid = mitarbeiterLehrstuhl.lehrstuhlid })); }