// // GET: /Platform/SysController/Edit/5 public ActionResult Edit(Guid? id) { var item = new SysController(); if (id.HasValue) { item = _sysControllerService.GetById(id.Value); } ViewBag.SysAreaId = new SelectList(_sysAreaService.GetAllEnt(), "Id", "AreaDisplayName", item.SysAreaId); ViewBag.SysActionsId = new MultiSelectList(_sysActionService.GetAllEnt(), "Id", "ActionDisplayName", item.SysControllerSysActions != null ? item.SysControllerSysActions.Where(a => !a.Deleted).Select(a => a.SysActionId) : null); return View(item); }
public ActionResult Edit(Guid? id, SysController collection) { if (!ModelState.IsValid) { Edit(id); return View(collection); } if (id.HasValue) { //清除原有数据 _sysControllerSysActionService.Delete(a => a.SysControllerId.Equals(id.Value) && !collection.SysActionsId.Contains(a.SysActionId)); } _sysControllerService.Save(id, collection); if (collection.SysActionsId != null) { foreach ( var actionid in collection.SysActionsId.Where( actionid => !_sysControllerSysActionService.GetAll() .Where(b => b.SysControllerId.Equals(id.Value)) .Select(b => b.SysActionId) .Contains(actionid))) { _sysControllerSysActionService.Save(null, new SysControllerSysAction { SysControllerId = collection.Id, SysActionId = actionid }); } } _unitOfWork.Commit(); return RedirectToAction("Index"); }