66 lines
2.0 KiB
C#
66 lines
2.0 KiB
C#
using Microsoft.AspNetCore.Mvc;
|
||
using XCode.Membership;
|
||
using NewLife;
|
||
using NewLife.Cube;
|
||
using NewLife.Cube.Extensions;
|
||
using NewLife.Cube.ViewModels;
|
||
using NewLife.Log;
|
||
using NewLife.Web;
|
||
using XCode.Membership;
|
||
using static XCode.Membership.Tenant;
|
||
|
||
namespace Membership.Web.Areas.Admin.Controllers;
|
||
|
||
/// <summary>租户。多租户SAAS平台,用于隔离业务数据</summary>
|
||
[Menu(0, true, Icon = "fa-table")]
|
||
[AdminArea]
|
||
public class Tenant : EntityController<Tenant>
|
||
{
|
||
static Tenant()
|
||
{
|
||
//LogOnChange = true;
|
||
|
||
//ListFields.RemoveField("Id", "Creator");
|
||
ListFields.RemoveCreateField().RemoveRemarkField();
|
||
|
||
//{
|
||
// var df = ListFields.GetField("Code") as ListField;
|
||
// df.Url = "?code={Code}";
|
||
// df.Target = "_blank";
|
||
//}
|
||
//{
|
||
// var df = ListFields.AddListField("devices", null, "Onlines");
|
||
// df.DisplayName = "查看设备";
|
||
// df.Url = "Device?groupId={Id}";
|
||
// df.DataVisible = e => (e as Tenant).Devices > 0;
|
||
// df.Target = "_frame";
|
||
//}
|
||
//{
|
||
// var df = ListFields.GetField("Kind") as ListField;
|
||
// df.GetValue = e => ((Int32)(e as Tenant).Kind).ToString("X4");
|
||
//}
|
||
//ListFields.TraceUrl("TraceId");
|
||
}
|
||
|
||
//private readonly ITracer _tracer;
|
||
|
||
//public Tenant(ITracer tracer)
|
||
//{
|
||
// _tracer = tracer;
|
||
//}
|
||
|
||
/// <summary>高级搜索。列表页查询、导出Excel、导出Json、分享页等使用</summary>
|
||
/// <param name="p">分页器。包含分页排序参数,以及Http请求参数</param>
|
||
/// <returns></returns>
|
||
protected override IEnumerable<Tenant> Search(Pager p)
|
||
{
|
||
var code = p["code"];
|
||
var managerId = p["managerId"].ToInt(-1);
|
||
var enable = p["enable"]?.ToBoolean();
|
||
|
||
var start = p["dtStart"].ToDateTime();
|
||
var end = p["dtEnd"].ToDateTime();
|
||
|
||
return Tenant.Search(code, managerId, enable, start, end, p["Q"], p);
|
||
}
|
||
} |