87 lines
3.1 KiB
C#
87 lines
3.1 KiB
C#
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
|
|
{
|
|
/// <summary>
|
|
/// 通知
|
|
/// </summary>
|
|
[Route("api/FM/FMDepartmentCalendarConfig")]
|
|
public class DepartmentCalendarConfigController : AuthorizeApiController<T_FM_DEPARTMENT_CALENDAR_CONFIG>
|
|
{
|
|
/// <summary>
|
|
/// 保存配置信息
|
|
/// </summary>
|
|
/// <param name="filter"></param>
|
|
/// <returns></returns>
|
|
[HttpPost, Route("FullUpdate")]
|
|
public JsonActionResult<bool> FullUpdate([FromBody] T_FM_DEPARTMENT_CALENDAR_CONFIG entity)
|
|
{
|
|
return SafeExecute<bool>(() =>
|
|
{
|
|
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;
|
|
});
|
|
}
|
|
/// <summary>
|
|
/// 根据主键删除数据
|
|
/// </summary>
|
|
/// <param name="id">主键ID</param>
|
|
/// <returns></returns>
|
|
[HttpGet, Route("FullDelete")]
|
|
public JsonActionResult<bool> FullDelete(string id)
|
|
{
|
|
return SafeExecute<bool>(() =>
|
|
{
|
|
this.UnifiedCommit(() =>
|
|
{
|
|
DeleteEntityNoCommit<T_FM_DEPARTMENT_CALENDAR_CONFIG_DETAIL>(i => i.DEPARTMENT_CALENDAR_CONFIG_ID == new Guid(id));
|
|
DeleteEntityNoCommit<T_FM_DEPARTMENT_CALENDAR_CONFIG_TEAM>(i => i.DEPARTMENT_CALENDAR_CONFIG_ID == new Guid(id));
|
|
DeleteEntityNoCommit<T_FM_DEPARTMENT_CALENDAR_CONFIG>(id);
|
|
});
|
|
|
|
return true;
|
|
});
|
|
}
|
|
|
|
|
|
}
|
|
}
|