public ActionResult Create(UserGroupDetailModel model) { if (ModelState.IsValid) { var domain = Mappings.MapDetailViewModelToDomainModel(model); var result = userGroupRepo.Create(domain); if (result) { TempData[TempDataInfMsg] = string.Format("Die Benutzergruppe {0} wurde erfolgreich angelegt", domain.FriendlyName); } else { TempData[TempDataInfMsg] = string.Format("Die Benutzergruppe {0} konnte nicht angelegt werden. Bitte wenden Sie sich an den Aministrator", domain.FriendlyName); } return RedirectToAction("Index"); } else { return View(model); } }
private UserGroupDetailModel EnhanceWebModel(UserGroupDetailModel model, bool isPossibleNeeded) { model.CurrentUsers = userGroupRepo.GetAllUsersOfUserGroup(model.UserGroupId); model.CurrentReaderGroups = readerGroupRepo.GetReaderGroupsOfUserGroup(model.UserGroupId); if (isPossibleNeeded) { model.PossibleUsers = userGroupRepo.GetPossibleUsers(model.UserGroupId); model.PossibleReaderGroups = userGroupRepo.GetPossibleReaderGroups(model.UserGroupId); } return model; }
public ActionResult Edit(Guid id, UserGroupDetailModel model) { bool isLinkAction = Request.Form.AllKeys.Contains("linkAction"); model.UserGroupId = id; if (isLinkAction) { var group = userGroupRepo.GetItemById(id); var userId = Request.Form["Selection"]; if (string.IsNullOrWhiteSpace(userId)) { ModelState.AddModelError("Selection", "Es wurde keine Auswahl getroffen"); } else { var ids = userId.Split(','); var successCount = 0; var msg = string.Empty; foreach (var gId in ids) { var otherId = Guid.Parse(gId); var action = Request.Form["linkAction"]; var success = false; if (action.Equals("DoLinkUser")) { success = userGroupRepo.LinkGroupToUser(group, otherId); msg = "Der Benutzergruppe {0} wurde mit {1} Benutzer verknüpft"; } else if (action.Equals("UnlinkUser")) { success = userGroupRepo.UnlinkGroupFromUser(group, otherId); msg = "Aus der Benutzergruppe {0} wurden {1} Benutzer herausgenommen"; } else if (action.Equals("DoLinkReaderGroup")) { success = userGroupRepo.LinkGroupToReaderGroup(group, otherId); msg = "Die Benutzergruppe {0} wurden mit {1} Lesergruppen verknüpft"; } else if (action.Equals("UnlinkReaderGroup")) { success = userGroupRepo.UnlinkGroupFromReaderGroup(group, otherId); msg = "Aus der Benutzergruppe {0} wurden {1} Lesergruppen herausgenommen"; } else { throw new Exception("Keine Aktion erkannt"); } successCount += success ? 1 : 0; } TempData[TempDataInfMsg] = string.Format(msg, group.FriendlyName, successCount); } } else if (ModelState.IsValid) { var group = userGroupRepo.GetItemById(id); group = Mappings.ApplyViewModelToDomainModel(model, group); var result = userGroupRepo.Edit(id, group); if (!result) { TempData[TempDateErrMsg] = string.Format("Die Änderungen an der Benutzergruppe {0} konnten nicht übernommen werden. Bitte kontaktieren Sie den Administrator.", group.FriendlyName); } else { TempData[TempDataInfMsg] = string.Format("Die Änderungen an der Benutzergruppe {0} wurde erfolgreich übernommen", group.FriendlyName); } return RedirectToAction("Index"); } EnhanceWebModel(model, true); return View(model); }