public ActionResult YhgnEdit(int yhid = 0, string gnids = "") { ViewModels.Message rsp = new ViewModels.Message(); DAL.yhgn yhgndal = new DAL.yhgn(); if (yhid > 0) { //先删除用户所有权限 if (yhgndal.deleteByYhid(yhid)) { if (!string.IsNullOrEmpty(gnids)) { //添加功能 string[] gnidArr = gnids.Split('#'); foreach (string gnid in gnidArr) { yhgndal.Add(new Model.yhgn { yhid = yhid, gnid = Convert.ToInt32(gnid) }); } } rsp.sno = 1; } else { rsp.sno = 2; rsp.msg = "数据操作失败"; } } else { rsp.sno = 2; rsp.msg = "未指定操作用户"; } return(Json(rsp, JsonRequestBehavior.DenyGet)); }
public ActionResult YhGnList(int[] gnids) { ViewModels.Message b = new ViewModels.Message(); int yhid = 1;//要从用户登录信息中获取 DAL.yhgn yhgndal = new DAL.yhgn(); foreach (int gnid in gnids) { yhgndal.Add(new Model.yhgn { yhid = yhid, gnid = gnid }); } b.sno = 1; return(Json(b, JsonRequestBehavior.DenyGet)); }
//获取用户功能 //返回易绑定的格式 public List <ViewModels.YhgnDTO> getYhgnDTO(int yhid) { //返回易绑定的格式 List <ViewModels.YhgnDTO> yhgndtos = new List <ViewModels.YhgnDTO>(); //获取系统所有功能(去除公共功能) List <Model.gn> gns = new List <Model.gn>(); DAL.gn gndal = new DAL.gn(); DataSet ds = gndal.GetList(""); if (ds.Tables[0].Rows.Count > 0) { foreach (DataRow dr in ds.Tables[0].Rows) { Model.gn gn = gndal.DataRowToModel(dr); if (!gn.ispublic) { gns.Add(gn); } } } //获取用户拥有的功能权限 DAL.yhgn yhgndal = new DAL.yhgn(); List <Model.yhgn> yhgns = yhgndal.getGnsByYhid(yhid); var query = from r in gns orderby r.controller group r by new { c = r.controller, cn = r.controllername } into g select new { g.Key.c, g.Key.cn, actions = from r1 in g orderby r1.action select new { r1.gnid, r1.action, r1.actionname } }; foreach (var item in query) { ViewModels.YhgnDTO yhgndto = new ViewModels.YhgnDTO(); yhgndto.controller = item.c; yhgndto.controllername = item.cn; foreach (var action in item.actions) { ViewModels.YhAction yhaction = new ViewModels.YhAction { gnid = action.gnid, action = action.action, actionname = action.actionname }; //绑定用户是否拥有该功能 if (yhgns.FindAll(b => b.gnid == action.gnid).Count > 0) { yhaction.isallow = true; } yhgndto.actions.Add(yhaction); } yhgndtos.Add(yhgndto); } return(yhgndtos); }