using System.Collections; using Microsoft.AspNetCore.Mvc; using Estsh.Core.Services.IServices; using Estsh.Core.Models; using Estsh.Core.Controllers; using Estsh.Core.Util; /*************************************************************************************************** * * 更新人:sitong.dong * 描述:角色模块控制类 * 修改时间:2022.06.22 * 修改日志:系统迭代升级 * **************************************************************************************************/ namespace Estsh.Core.Web.Controllers { /// /// 角色管理模块的控制类 /// public class RoleController : BaseController { private IRoleService service; public RoleController(IRoleService _service) { service = _service; } // // GET: /Role/ public ActionResult Index() { return View(); } #region 角色管理 /// /// 根据分页条件获取用户列表 /// /// /// /// /// /// public ActionResult getRoleListByPage(String roleName, Pager pager, String direction, String sort, String enabled = "Y") { Hashtable result = new Hashtable(); result.Add("pager.pageNo", pager.pageNo); Hashtable dataHt = this.service.getRoleListByPage(roleName, pager, direction, sort, enabled); result.Add("rows", dataHt["dataList"]); result.Add("pager.totalRows", dataHt["totalCount"]); result.Add("sort", sort); result.Add("direction", direction); return Json(result); } public ActionResult getRoleMenuTree(String roleId) { Hashtable result = new Hashtable(); ArrayList treeNodes = new ArrayList(); treeNodes = this.service.getRoleMenuTree(roleId); result.Add("treeNodes", treeNodes); return Json(result); } /// /// 保存角色数据 /// /// public ActionResult saveRoleInfo() { String editType = Request.Form["editType"].ToString(); String roleId = Request.Form["roleId"].ToString(); String roleName = Request.Form["roleName"].ToString(); String roleDesc = Request.Form["roleDesc"].ToString(); String enabled = Request.Form["enabled"].ToString(); String menuTree = Request.Form["menuTree1"].ToString(); String opMenuTree = Request.Form["opMenuTree"].ToString(); SysRole sysRole = new SysRole(); sysRole.RoleName = roleName; sysRole.RoleDesc = roleDesc; sysRole.Enabled = enabled; String message = ""; String flag = ""; if (editType != null && editType.Trim().Equals("edit")) { try { sysRole.UpdateUserId = CurrentEmp.EmpId; sysRole.RoleId =Convert.ToInt32( roleId); int i = this.service.updateRoleInfo(sysRole, menuTree, opMenuTree); if (i == 0) { message = "修改失败!"; flag = "Fail"; } else { message = "修改成功!"; flag = "OK"; } } catch (Exception e) { message = "修改失败!"; flag = "Fail"; } } else { try { sysRole.CreateUserId = CurrentEmp.EmpId; int i = this.service.saveRoleInfo(sysRole, menuTree, opMenuTree); if (i == 2) { message = "角色:" +roleName +"已存在!"; flag = "Fail"; } else if (i == 0) { message = "添加失败!"; flag = "Fail"; } else { message = "添加成功!"; flag = "OK"; } } catch (Exception e) { message = "添加失败!"; flag = "Fail"; } } Hashtable result = new Hashtable(); result.Add("message", message); result.Add("flag", flag); return Json(result); } /// /// 编辑角色信息 /// /// /// public ActionResult editRoleInfo(String roleId) { if (!string.IsNullOrEmpty(roleId)) { List roleInfo = this.service.getRoleDetail(roleId); //Hashtable htRoleInfo = (Hashtable)roleInfo[0]; ViewData.Add("editType", "edit"); ViewData.Add("roleId", roleId); ViewData.Add("roleName", roleInfo[0].RoleName); ViewData.Add("roleDesc", roleInfo[0].RoleDesc); ViewData.Add("enabled", roleInfo[0].Enabled); } else { ViewData.Add("editType", "new"); } return View("editRole"); } /// /// 删除角色 /// /// /// public ActionResult deleteRole(String ids) { int delCount = 0; try { delCount = this.service.deleteRole(ids); } catch (Exception e) { delCount = -1; } Hashtable result = new Hashtable(); result.Add("status", delCount); return Json(result); } /// /// 启用 /// /// /// public ActionResult onEnable(String ids) { int delCount = 0; try { delCount = this.service.EnableData(ids); } catch (Exception e) { delCount = -1; } Hashtable result = new Hashtable(); result.Add("status", delCount); return Json(result); } /// /// 禁用 /// /// /// public ActionResult onDisable(String ids) { int delCount = 0; try { delCount = this.service.DisableData(ids); } catch (Exception e) { delCount = -1; } Hashtable result = new Hashtable(); result.Add("status", delCount); return Json(result); } #endregion } }