using APT.BaseData.Domain.Enums; using APT.Infrastructure.Core; using APT.BaseData.Domain.ApiModel.EX; using APT.BaseData.Domain.Entities.FM; using Microsoft.AspNetCore.Mvc; using System; using System.Linq; using System.Collections.Generic; using APT.Utility; namespace APT.FM.WebApi.Controllers.Api.FM { /// /// 通知 /// [Route("api/FM/FMDepartmentCalendarConfig")] public class DepartmentCalendarConfigController : AuthorizeApiController { /// /// 保存配置信息 /// /// /// [HttpPost, Route("FullUpdate")] public JsonActionResult FullUpdate([FromBody] T_FM_DEPARTMENT_CALENDAR_CONFIG entity) { return SafeExecute(() => { if (entity != null) { entity.CURR_TIME = (entity.CURR_TIME < entity.START_TIME) ? entity.START_TIME : entity.CURR_TIME; var detail = entity.Nav_DepartmentCalendarConfigDetail; var team = entity.Nav_DepartmentCalendarConfigTeam; entity.Nav_DepartmentCalendarConfigDetail = null; if(detail == null|| team == null) { this.ThrowError("040002"); } if(team.Select(i=>i.NUM).Distinct().Count()!= detail.Count(t => t.IS_DELETED == false)) { this.ThrowError("040003"); } this.UnifiedCommit(() => { this.UpdateEntityNoCommit(entity); if (detail != null) { detail.ForEach(i=>i.DEPARTMENT_CALENDAR_CONFIG_ID = entity.ID); this.BantchSaveEntityNoCommit(detail); } if (team != null) { team.ForEach(i => i.DEPARTMENT_CALENDAR_CONFIG_ID = entity.ID); this.BantchSaveEntityNoCommit(team); } }); } return true; }); } /// /// 根据主键删除数据 /// /// 主键ID /// [HttpGet, Route("FullDelete")] public JsonActionResult FullDelete(string id) { return SafeExecute(() => { this.UnifiedCommit(() => { DeleteEntityNoCommit(i => i.DEPARTMENT_CALENDAR_CONFIG_ID == new Guid(id)); DeleteEntityNoCommit(i => i.DEPARTMENT_CALENDAR_CONFIG_ID == new Guid(id)); DeleteEntityNoCommit(id); }); return true; }); } } }