using APT.Infrastructure.Core; using APT.MS.Domain.Entities.OG; using APT.Utility; using Microsoft.AspNetCore.Mvc; using NPOI.SS.Formula.Functions; using System; using System.Collections.Generic; using System.Linq; namespace APT.SC.WebApi.Controllers.Api.OG { [Route("api/OG/OGRelatedEstimate")] public class OGRelatedEstimateController : AuthorizeApiController { /// /// 更新 /// /// /// [HttpPost, Route("FullUpdate")] public JsonActionResult FullUpdate([FromBody]T_OG_RELATED_ESTIMATE entity) { return SafeExecute(() => { var Nav_Details = entity.Nav_Details; entity.Nav_Details = null; foreach(var item in Nav_Details) { item.Nav_Item = null; } UnifiedCommit(() => { UpdateEntityNoCommit(entity); if (Nav_Details != null&&Nav_Details.Any()) BantchSaveEntityNoCommit(Nav_Details); }); return true; }); } /// /// 获得单条实体数据 /// /// /// [HttpPost, Route("FullGet")] public JsonActionResult Get([FromBody] KeywordFilter filter) { if (filter.FilterGroup.Rules.Count > 0) { return WitEntity(null, filter); } return SafeExecute(() => { var ret = new T_OG_RELATED_ESTIMATE { ID = Guid.NewGuid(), ORG_ID = filter.GetOrgId(), Nav_Details = new List(), }; BaseFilter baseFilter = new BaseFilter(filter.GetOrgId()); baseFilter.Sort = "NAME"; baseFilter.Order = DbOrder.ASC; var details = GetEntities(t=>t.IS_DELETED==false, baseFilter); var count = 1; details.ForEach(it => { ret.Nav_Details.Add(new T_OG_RELATED_ESTIMATE_DETAIL { ID = Guid.NewGuid(), ESTIMATE_ID = ret.ID, ITEM_ID = it.ID, ORG_ID = filter.GetOrgId(), Nav_Item = it, NUM= count, }); count++; }); return ret; }); } } }