ok-admin框架,第十天角色编辑
@model StudentSys.Models.SysRole
@{
ViewBag.Title = "更新角色";
Layout = null;
}
后台代码:
///
/// 更新页面
///
///
public ActionResult Update()
{
int id = int.Parse(Request["id"]);
YuanGongDb dbcontext = new YuanGongDb();
var data = dbcontext.SysRole.FirstOrDefault(o => o.id == id);
var rolePermission = dbcontext.RoleInMenu.Where(o => o.Rid == id).ToList();
List
ZTreeData ztree_model = null;
var ztree_demo = dbcontext.SysMenu.Where(p => p.pid == 0).ToList();
if(ztree_demo!=null)
{
foreach (var item in ztree_demo)
{
ztree_model = new ZTreeData();
ztree_model.id = item.id.ToString();
ztree_model.pId = item.pid.ToString();
ztree_model.name = item.name;
ztree_model.value = item.id.ToString();
var isExist= rolePermission.Where(o => o.Mid == item.id).FirstOrDefault();
ztree_model.Checked = isExist!=null?true:false;
listZtree.Add(ztree_model);
}
}
ViewBag.PermissionList = JsonConvert.SerializeObject(listZtree);
if(rolePermission!=null&& rolePermission.Count>0)
{
string ids = "";
foreach (var item in rolePermission)
{
ids += "," + item.Mid.ToString();
}
ViewBag.PermissionIDs = ids.ToString();
}
else
{
ViewBag.PermissionIDs = "";
}
return View(data);
}
///
/// 更新用户
///
///
///
[HttpPost]
public string Update(SysRole _user, string PermissionIDs)
{
YuanGongDb dbcontext = new YuanGongDb();
ResponseData res = new ResponseData();//返回的数据格式code,msg
var entity = dbcontext.Set
entity.name = _user.name;
entity.remark = _user.remark;
entity.updatetime = DateTime.Now.ToString();
if (dbcontext.SaveChanges() > 0)
{
var roleMenuData= dbcontext.RoleInMenu.Where(o => o.Rid == entity.id).ToList();
if(roleMenuData!=null)
{
foreach (var item in roleMenuData)
{
dbcontext.RoleInMenu.Remove(item);
}
}
RoleInMenu roleMenuModel = null;
string[] mids = PermissionIDs.Split(',');
for (int i = 0; i < mids.Length; i++)
{
roleMenuModel = new RoleInMenu();
roleMenuModel.Mid =int.Parse(mids[i].ToString());
roleMenuModel.Rid = entity.id;
roleMenuModel.createtime = DateTime.Now.ToString();
dbcontext.RoleInMenu.Add(roleMenuModel);
dbcontext.SaveChanges();
}
res.code = 0;
res.msg = "更新成功";
var data = JsonConvert.SerializeObject(res);
return data;
}
else
{
res.code = 1;
res.msg = "更新失败";
var data = JsonConvert.SerializeObject(res);
return data;
}
}