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/UserGroup")] public class UserGroupController : 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_USER_GROUP entity) { return SafeExecute(() => { var belongRoleGroups = entity.Nav_BelongRoleGroups; var belongRoles = entity.Nav_BelongRoles; var belongUserGroups = entity.Nav_BelongUserGroups; entity.Nav_BelongRoleGroups = null; entity.Nav_BelongRoles = null; entity.Nav_BelongUserGroups = null; if (belongUserGroups != null && belongUserGroups.Any()) belongUserGroups.ForEach(t => t.USER_GROUP_ID = entity.ID); if (belongRoleGroups != null && belongRoleGroups.Any()) belongRoleGroups.ForEach(t => t.USER_GROUP_ID = entity.ID); if (belongRoles != null && belongRoles.Any()) belongRoles.ForEach(t => t.USER_GROUP_ID = entity.ID); List deleteBelongRoleIds = new List(); List deleteBelongRoleGroupIds = new List(); List deleteBelongUserGroupsIds = new List(); var dbEntity = this.GetEntity(entity.ID.ToString(), new string[] { "Nav_BelongRoleGroups", "Nav_BelongRoles", "Nav_BelongUserGroups" }); if (dbEntity != null) { if (dbEntity.Nav_BelongRoleGroups != null) { dbEntity.Nav_BelongRoleGroups.ForEach(item => { if (belongRoleGroups==null||!belongRoleGroups.Any(i => i.ID == item.ID)) deleteBelongRoleGroupIds.Add(item.ID); }); } if (dbEntity.Nav_BelongRoles != null) { dbEntity.Nav_BelongRoles.ForEach(item => { if (belongRoles == null||!belongRoles.Any(i => i.ID == item.ID)) deleteBelongRoleIds.Add(item.ID); }); } if (dbEntity.Nav_BelongUserGroups != null) { dbEntity.Nav_BelongUserGroups.ForEach(item => { if (belongUserGroups==null||!belongUserGroups.Any(i => i.ID == item.ID)) deleteBelongUserGroupsIds.Add(item.ID); }); } } UnifiedCommit(() => { this.UpdateEntityNoCommit(entity); if (belongRoleGroups != null && belongRoleGroups.Any()) this.BantchSaveEntityNoCommit(belongRoleGroups); if (belongRoles != null && belongRoles.Any()) this.BantchSaveEntityNoCommit(belongRoles); if (belongUserGroups != null && belongUserGroups.Any()) this.BantchSaveEntityNoCommit(belongUserGroups); if (deleteBelongRoleIds.Any()) this.DeleteEntityNoCommit(t => deleteBelongRoleIds.Contains(t.ID)); if (deleteBelongRoleGroupIds.Any()) this.DeleteEntityNoCommit(t => deleteBelongRoleGroupIds.Contains(t.ID)); if (deleteBelongUserGroupsIds.Any()) this.DeleteEntityNoCommit(t => deleteBelongUserGroupsIds.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); } } }