public ActionResult Save(string profileId, string name, PInfo[] pinfo, string description = "") { if (pinfo == null) pinfo = new PInfo[0]; Profile p = new Profile(); p.Id = profileId; p.Name = name; p.Description = description; try { //TODO:调用DAO持久层保存profile信息 RolePermissionDatabase.SaveProfile(p, pinfo); return Json(new { msg = "修改成功!" }); } catch (CommandException e) {//TODO:根据具体异常中的信息处理错误内容 logger.Error("修改profile出错!", e); string cause = ""; if (!string.IsNullOrWhiteSpace(e.Cause)) cause = "错误原因:" + e.Cause; return Json(new { msg = "修改profile失败!" + cause }); } }
/// <summary> /// Profile编辑页面 /// </summary> /// <param name="id"></param> /// <returns></returns> public ActionResult Edit(string id) { try { InitOrgTree(); InitResPermission(); Profile profile = null;//TODO获取指定id的profile对象:RolePermissionDatabase.GetProfile(id); var clientProfile = new { Name = profile.Name, Desc = profile.Description, Id = id, PInfos = new List<PInfo>() }; foreach (var org in profile.AllOrgPermission) { PInfo p = new PInfo(); p.Path = org.Name; p.Actions = org.RealAction; p.Type = 1; clientProfile.PInfos.Add(p); } foreach (var res in profile.AllResourcePermission) { PInfo p = new PInfo(); p.Path = res.Name; p.Actions = res.RealAction; p.Type = 0; clientProfile.PInfos.Add(p); } ViewBag.Profile = JsonConvert.SerializeObject(clientProfile); return View(); } catch (Exception e) { logger.Error(e); return Json(new { msg = "读取Profile信息失败" }); } }