using APT.Infrastructure.Core; using APT.MS.Domain.Entities.HM; using APT.MS.Domain.Entities.PF; using APT.MS.Domain.Enums; using APT.Utility; using Microsoft.AspNetCore.Mvc; using System; using System.Linq; namespace APT.PF.WebApi.Controllers.Api { /// /// 审批角色 /// [Route("api/PF/PFApprovalRole")] public partial class ApprovalRoleController : AuthorizeApiController { /// /// 更新或新增数据 /// /// 对象实体 /// [HttpPost, Route("FullUpdate")] public JsonActionResult FullUpdate([FromBody] T_PF_APPROVAL_ROLE entity) { return SafeExecute(() => { var orgId = APT.Infrastructure.Api.AppContext.CurrentSession.OrgId; //var roleCodes = this.GetEntities(t => true, new BaseFilter(orgId)).Select(x => x.NAME).ToList(); //if (roleCodes.Contains(entity.NAME)) // throw new Exception("系统已存在审批角色编码为" + entity.NAME + "的数据,请勿重复!"); var departs = entity.Nav_ApproveDeparts.Where(t=>!t.IS_DELETED).ToList(); entity.Nav_ApproveDeparts = null; if (departs != null && departs.Any()) { departs.ForEach(t => { t.ORG_ID = orgId; t.APPROVAL_ROLE_ID = entity.ID; t.Nav_Department = null; }); } UnifiedCommit(() => { if (entity != null) UpdateEntityNoCommit(entity); //保存主表 if (departs != null && departs.Any()) BantchSaveEntityNoCommit(departs); //保存子表 }); return true; }); } } }