using APT.BaseData.Domain.ApiModel; using APT.BaseData.Domain.Entities; using APT.BaseData.Domain.Enums; using APT.BaseData.Domain.IServices; using APT.Infrastructure.Core; using Microsoft.AspNetCore.Mvc; using System; using System.Collections.Generic; using System.Linq; using APT.Utility; namespace APT.PF.WebApiControllers.Api.PF { /// /// 表单自定义设置 /// [Route("api/PF/PageCustom")] [APT.Infrastructure.Api.RootOrg] public class PageCustomController : 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 SafeExecute(() => { var formService = APT.Infrastructure.Api.ServiceLocator.Instance.GetService(); formService.CreateFormConfigVersion(PFFormConfigVersionEnum.PageCustom, id); this.DeleteEntity(id); return true; }); } /// /// 更新 /// /// /// [HttpPost, Route("Update")] public JsonActionResult Update([FromBody] T_PF_PAGE_CUSTOM entity) { return SafeExecute(() => { this.UpdateEntity(entity); var formService = APT.Infrastructure.Api.ServiceLocator.Instance.GetService(); formService.CreateFormConfigVersion(PFFormConfigVersionEnum.PageCustom, entity.ID.ToString()); return true; }); } /// /// 批量删除 /// /// /// [HttpGet, Route("BatchDelete")] public JsonActionResult BatchDelete(string ids) { return SafeExecute(() => { var formService = APT.Infrastructure.Api.ServiceLocator.Instance.GetService(); formService.CreateFormConfigVersion(PFFormConfigVersionEnum.PageCustom, ids); string[] arrays = string.IsNullOrEmpty(ids) ? null : ids.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); if (arrays != null && arrays.Length > 0) this.DeleteEntity(t => arrays.Contains(t.ID.ToString())); return true; }); } /// /// 获得单条实体数据 /// /// /// [HttpPost, Route("Get")] public JsonActionResult Get([FromBody] KeywordFilter filter) { return WitEntity(null, filter); } /// /// 获取自定义页配置信息 /// /// /// [HttpPost, Route("GetCustomPageConfigInfo")] public JsonActionResult GetCustomPageConfigInfo([FromBody] KeywordFilter filter) { return SafeExecute(() => { string code = filter.Keyword; filter.OrgType = FilterOrgTypeEnum.仅本组织; var form = this.GetEntityByRedis(code, filter.OrgId ?? Guid.Empty); if (form == null) return null; CustomPageModel result = new CustomPageModel(); result.Nav_Form = form; var pageCustoms = this.GetEntitiesByRedis(null,new BaseFilter(filter.GetOrgId()), form.ID.ToString()); result.Nav_PageCustom = pageCustoms.FirstOrDefault(); return result; }); } } }