/******************************************************************************* * Copyright © 2020 HT.Cloud.Framework 版权所有 * Author: HT.Cloud * Description: WaterCloud快速开发平台 * Website: *********************************************************************************/ using Microsoft.AspNetCore.Mvc; using System; using System.Linq; using System.Threading.Tasks; using HT.Cloud.Code; using HT.Cloud.Domain.SystemOrganize; using HT.Cloud.Service.SystemOrganize; namespace HT.Cloud.Web.Areas.SystemOrganize.Controllers { [Area("SystemOrganize")] public class RoleController : BaseController { public RoleService _service { get; set; } [HttpGet] public virtual ActionResult AddForm() { return View(); } [HttpGet] [HandlerAjaxOnly] public async Task GetListJson(string keyword) { var data = await _service.GetList(keyword); return Content(data.ToJson()); } [HttpGet] [HandlerAjaxOnly] public async Task GetSelectJson(string keyword, string ids) { var data = await _service.GetList(keyword); data = data.Where(a => a.F_EnabledMark == true).ToList(); if (!string.IsNullOrEmpty(ids)) { foreach (var item in ids.Split(',')) { var temp = data.Find(a => a.F_Id == item); if (temp != null) { temp.LAY_CHECKED = true; } } } return Success(data.Count, data); } [HandlerAjaxOnly] [IgnoreAntiforgeryToken] public async Task GetGridJson(SoulPage pagination, string keyword) { if (string.IsNullOrEmpty(pagination.field)) { pagination.field = "F_Id"; pagination.order = "desc"; } var data = await _service.GetLookList(pagination, keyword); return Content(pagination.setData(data).ToJson()); } [HttpGet] [HandlerAjaxOnly] public async Task GetFormJson(string keyValue) { var data = await _service.GetLookForm(keyValue); return Content(data.ToJson()); } [HttpPost] [HandlerAjaxOnly] public async Task SubmitForm(RoleEntity roleEntity, string permissionbuttonIds, string permissionfieldsIds, string keyValue) { if (!string.IsNullOrEmpty(keyValue) && _service.currentuser.RoleId == keyValue) { return Error("操作失败,不能修改用户当前角色"); } try { await _service.SubmitForm(roleEntity, string.IsNullOrEmpty(permissionbuttonIds) ? new string[0] : permissionbuttonIds.Split(','), string.IsNullOrEmpty(permissionfieldsIds) ? new string[0] : permissionfieldsIds.Split(','), keyValue); return await Success("操作成功。", "", keyValue); } catch (Exception ex) { return await Error(ex.Message, "", keyValue); } } [HttpPost] [HandlerAjaxOnly] [HandlerAuthorize] public async Task DeleteForm(string keyValue) { try { if (_service.currentuser.RoleId == keyValue) { return Error("操作失败,不能删除用户当前角色"); } await _service.DeleteForm(keyValue); return await Success("操作成功。", "", keyValue, DbLogType.Delete); } catch (Exception ex) { return await Error(ex.Message, "", keyValue, DbLogType.Delete); } } } }