using APT.Infrastructure.Core; using APT.BaseData.Domain.Entities.FM; using Microsoft.AspNetCore.Mvc; using System; using System.Collections.Generic; using System.Linq; using APT.Utility;namespace APT.FM.WebApi.Controllers.Api.FM { /// /// 角色组 /// [Route("api/FM/RoleGroup")] public class RoleGroupController : AuthorizeApiController { /// /// 查询 /// /// /// [HttpPost, Route("Entities")] public JsonActionResult> Entities([FromBody]KeywordFilter filter) { return WitEntities(null, filter); } /// /// 查询 /// /// /// /// [HttpPost, Route("OrderEntities")] public JsonActionResult> OrderEntities([FromBody]KeywordFilter filter) { return WitOrderEntities(null, filter); } /// /// 查询 /// /// /// [HttpPost, Route("Paged")] public PagedActionResult Paged([FromBody]KeywordPageFilter pageFilter) { return WitPaged(null, pageFilter); } /// /// 查询 /// /// /// [HttpPost, Route("OrderPaged")] public PagedActionResult OrderPaged([FromBody]KeywordPageFilter pageFilter) { return WitOrderPaged(null, pageFilter); } /// /// 删除 /// /// /// [HttpGet, Route("Delete")] public JsonActionResult Delete(string id) { return WitRealDelete(id); } /// /// 更新 /// /// /// [HttpPost, Route("Update")] public JsonActionResult Update([FromBody]T_FM_ROLE_GROUP entity) { return SafeExecute(() => { var belongRoles = entity.Nav_BelongRoles; entity.Nav_BelongRoles = null; if (belongRoles != null && belongRoles.Any()) belongRoles.ForEach(t => t.ROLE_GROUP_ID = entity.ID); List deleteBelongRoleIds = new List(); var dbEntity = this.GetEntity(entity.ID.ToString(), new string[] { "Nav_BelongRoles" }); if (dbEntity != null) { if (dbEntity.Nav_BelongRoles != null) { dbEntity.Nav_BelongRoles.ForEach(item => { if (belongRoles==null|| belongRoles.Count==0||!belongRoles.Any(i => i.ID == item.ID)) deleteBelongRoleIds.Add(item.ID); }); } } UnifiedCommit(() => { this.UpdateEntityNoCommit(entity); if (belongRoles != null && belongRoles.Any()) this.BantchSaveEntityNoCommit(belongRoles); if (deleteBelongRoleIds.Any()) this.DeleteEntityNoCommit(t => deleteBelongRoleIds.Contains(t.ID)); }); return true; }); } /// /// 批量删除 /// /// /// [HttpGet, Route("BatchDelete")] public JsonActionResult BatchDelete(string ids) { return WitRealBatchDelete(ids); } /// /// 获得单条实体数据 /// /// /// [HttpPost, Route("Get")] public JsonActionResult Get([FromBody] KeywordFilter filter) { return WitEntity(null, filter); } } }