public ActionResult Save() { try { string name = Request["name"].ToString(); string note = Request["note"].ToString(); string upid = Request["upid"].ToString(); string menu = ""; if (Request["menu"] != null) { menu = Request["menu"].ToString(); } string role_id = upid; if (role_id == "")//如果是新增加 { //最后一个role_id var lastCode = oc.BllSession.ISYS_ROLEService.Entities.OrderByDescending(m => m.ROLE_ID).Select(m => new { m.ROLE_ID }).FirstOrDefault(); int lastCodeId = 1; if (lastCode != null) { lastCodeId = int.Parse(lastCode.ROLE_ID) + 1; } string codeNum = lastCodeId < 10 ? "00" + lastCodeId.ToString() : lastCodeId.ToString(); codeNum = codeNum.Length == 2 ? "0" + codeNum : codeNum; role_id = codeNum; } List <SYS_ROLE_MENU_MAP> listRoleMenu = new List <SYS_ROLE_MENU_MAP>(); //菜单 List <string> listMenuId = new List <string>(); //菜单ID //List<string> listChildMenuId = new List<string>();//子菜单ID List <SYS_ROLE_MENUOPT_MAP> listRoleMenuOpt = new List <SYS_ROLE_MENUOPT_MAP>(); //操作 //List<string> listMenuOptId = new List<string>();//操作ID if (menu != "") { string[] menuid = menu.Split(','); for (int i = 0; i < menuid.Length; i++) { listMenuId.Add(menuid[i]); listRoleMenuOpt.Add(new SYS_ROLE_MENUOPT_MAP() { ROLE_MENUOPT_ID = DateTime.Now.ToString("yyyyMMddHHmmssfff") + menuid[i] + i.ToString(), ROLE_ID = role_id, MENUOPT_ID = menuid[i] }); if (menuid[i].IndexOf('-') > -1) //菜单ID不为父菜单时, { string pMenuId = menuid[i].Substring(0, 2); //父菜单ID if (listMenuId.IndexOf(pMenuId) == -1) //如果没有父菜单ID { listMenuId.Add(pMenuId); //加入父菜单ID listRoleMenu.Add(new SYS_ROLE_MENU_MAP() { ROLE_MENU_ID = DateTime.Now.ToString("yyyyMMddHHmmssfff") + pMenuId + i.ToString(), ROLE_ID = role_id, MENU_ID = pMenuId }); } pMenuId = menuid[i].Substring(0, 4); //父菜单ID if (listMenuId.IndexOf(pMenuId) == -1) //如果没有父菜单ID { listMenuId.Add(pMenuId); //加入父菜单ID listRoleMenu.Add(new SYS_ROLE_MENU_MAP() { ROLE_MENU_ID = DateTime.Now.ToString("yyyyMMddHHmmssfff") + pMenuId + i.ToString(), ROLE_ID = role_id, MENU_ID = pMenuId }); } if (menuid[i].Length > 8) { pMenuId = menuid[i].Substring(0, 6); //父菜单ID if (listMenuId.IndexOf(pMenuId) == -1) //如果没有父菜单ID { listMenuId.Add(pMenuId); //加入父菜单ID listRoleMenu.Add(new SYS_ROLE_MENU_MAP() { ROLE_MENU_ID = DateTime.Now.ToString("yyyyMMddHHmmssfff") + pMenuId + i.ToString(), ROLE_ID = role_id, MENU_ID = pMenuId }); } pMenuId = menuid[i].Substring(0, 8); //父菜单ID if (listMenuId.IndexOf(pMenuId) == -1) //如果没有父菜单ID { listMenuId.Add(pMenuId); //加入父菜单ID listRoleMenu.Add(new SYS_ROLE_MENU_MAP() { ROLE_MENU_ID = DateTime.Now.ToString("yyyyMMddHHmmssfff") + pMenuId + i.ToString(), ROLE_ID = role_id, MENU_ID = pMenuId }); } } } } } /* * if (menu != "") * { * string[] menuid = menu.Split(','); * for (int i = 0; i < menuid.Length; i++) * { * listMenuId.Add(menuid[i]); * if (Constant.GISOneMenu.Split(',').Contains(menuid[i])) * { * continue; * } * if (menuid[i].Length > 4)//菜单ID不为父菜单时, * { * string pMenuId = menuid[i].Substring(0, 2);//父菜单ID * if (listMenuId.IndexOf(pMenuId) == -1)//如果没有父菜单ID * { * listMenuId.Add(pMenuId);//加入父菜单ID * } * pMenuId = menuid[i].Substring(0, 4);//父菜单ID * if (listMenuId.IndexOf(pMenuId) == -1)//如果没有父菜单ID * { * listMenuId.Add(pMenuId);//加入父菜单ID * } * } * //string look = Request["look" + menuid[i]].ToString(); * //listMenuOptId.Add(look);//操作菜单 * } * //List<string> listTwoMenuId = menuid.ToList(); * // //if (listTwoMenuId.IndexOf("2") > -1) * // //{ * // // listTwoMenuId.Remove("2"); * // //} * //listChildMenuId = oc.BllSession.ISYS_MENUService.Entities.Where(m => listTwoMenuId.Contains(m.PARENT_ID)).Select(m => m.MENU_ID).ToList(); * //listMenuId.AddRange(listChildMenuId);//加入子菜单ID * } * * int x = 1; * foreach (string item in listMenuId) * { * listRoleMenu.Add( * new SYS_ROLE_MENU_MAP() * { * ROLE_MENU_ID = DateTime.Now.ToString("yyyyMMddHHmmssfff") + item + x.ToString(), * MENU_ID = item, * ROLE_ID = role_id * } * ); * x++; * } * foreach (string item in listMenuOptId) * { * string menuid = item.Replace("look", "").Replace("opt", ""); * //if (menuid != "2") * //{ * List<string> listThereMenuId = listChildMenuId.Where(m => m.StartsWith(menuid)).ToList(); * foreach (string thereMenuId in listThereMenuId) * { * listRoleMenuOpt.Add( * new SYS_ROLE_MENUOPT_MAP() * { * ROLE_MENUOPT_ID = DateTime.Now.ToString("yyyyMMddHHmmssfff") + thereMenuId + "1", * MENUOPT_ID = thereMenuId + "-002", * ROLE_ID = role_id * } * ); * int m = 5; * //扩展导入导出时再修改 * /* * if (thereMenuId == "10201")//如果是问题库,加导出 * { * listRoleMenuOpt.Add( * new SYS_ROLE_MENUOPT_MAP() * { * ROLE_MENUOPT_ID = DateTime.Now.ToString("yyyyMMddHHmmssfff") + thereMenuId + "6", * MENUOPT_ID = thereMenuId + "-006", * ROLE_ID = role_id * } * ); * m = 6;//加导入 * } * * if (item.IndexOf("opt") > -1)//如果是操作权限 * { * for (int i = 2; i < m; i++) * { * listRoleMenuOpt.Add( * new SYS_ROLE_MENUOPT_MAP() * { * ROLE_MENUOPT_ID = DateTime.Now.ToString("yyyyMMddHHmmssfff") + thereMenuId + i.ToString(), * MENUOPT_ID = thereMenuId + "-00" + (i==2?1:i), * ROLE_ID = role_id * } * ); * } * } * } * //} * }*/ SYS_ROLE u = new SYS_ROLE() { ROLE_ID = role_id, NAME = name, NOTE = note, SYS_ROLE_MENU_MAP = listRoleMenu, SYS_ROLE_MENUOPT_MAP = listRoleMenuOpt }; if (upid == "") { return(PackagingAjaxmsg(Model_SYS_ROLE.Add(u))); } else { u.ROLE_ID = upid; return(PackagingAjaxmsg(Model_SYS_ROLE.Edit(u))); } } catch (Exception) { return(PackagingAjaxmsg(new Message().NewAmm)); } }
public AjaxMsgModel Del(VIEW_SYS_ROLE data) { return(Model_SYS_ROLE.Del(data.ROLE_ID)); }