using APT.BaseData.Domain.Entities;
using APT.BaseData.Domain.Enums;
using APT.BaseData.Domain.IServices;
using APT.Infrastructure.Core;
using APT.Utility;
using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic;
using System.Linq;
using APT.Infrastructure.Api;
using APT.Utility;
namespace APT.PF.WebApiControllers.Api.PF
{
///
/// 查询过滤条件
///
[Route("api/PF/TableParams")]
[APT.Infrastructure.Api.RootOrg]
public class TableParamsController : 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);
}
[HttpPost, Route("Update")]
public JsonActionResult Update([FromBody] T_PF_TABLE_PARAMS entity)
{
return SafeExecute(() =>
{
this.UpdateEntity(entity);
var formService = APT.Infrastructure.Api.ServiceLocator.Instance.GetService();
formService.CreateFormConfigVersion(PFFormConfigVersionEnum.TableParams, entity.ID.ToString());
return true;
});
}
///
/// 删除
///
///
///
[HttpGet, Route("Delete")]
public JsonActionResult Delete(string id)
{
return SafeExecute(() =>
{
var formService = APT.Infrastructure.Api.ServiceLocator.Instance.GetService();
formService.CreateFormConfigVersion(PFFormConfigVersionEnum.TableParams, id);
List ids = new List();
ids.Add(new Guid(id));
this.DoDelete(ids);
return true;
});
}
private void DoDelete(List ids)
{
this.DeleteEntity(t => ids.Contains(t.ID));
}
///
/// 批量删除
///
///
///
[HttpGet, Route("BatchDelete")]
public JsonActionResult BatchDelete(string ids)
{
return SafeExecute(() =>
{
var formService = APT.Infrastructure.Api.ServiceLocator.Instance.GetService();
formService.CreateFormConfigVersion(PFFormConfigVersionEnum.TableParams, ids);
var arrays = string.IsNullOrEmpty(ids) ? null : ids.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries)
.Select(t => new Guid(t)).ToList();
if (arrays != null && arrays.Count > 0)
this.DoDelete(arrays);
return true;
});
}
///
/// 根据ID获得实体数据
///
///
///
[HttpPost, Route("Get")]
public JsonActionResult Get([FromBody] KeywordFilter filter)
{
return WitEntity(null, filter);
}
}
}