XCode/XUnitTest.XCode/Code/Controllers/controller_user.cs

75 lines
2.5 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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.User;
namespace Membership.Web.Areas.Admin.Controllers;
/// <summary>用户。用户帐号信息,以身份验证为中心,拥有多种角色,可加入多个租户</summary>
[Menu(0, true, Icon = "fa-table")]
[AdminArea]
public class User : EntityController<User>
{
static User()
{
//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 User).Devices > 0;
// df.Target = "_frame";
//}
//{
// var df = ListFields.GetField("Kind") as ListField;
// df.GetValue = e => ((Int32)(e as User).Kind).ToString("X4");
//}
//ListFields.TraceUrl("TraceId");
}
//private readonly ITracer _tracer;
//public User(ITracer tracer)
//{
// _tracer = tracer;
//}
/// <summary>高级搜索。列表页查询、导出Excel、导出Json、分享页等使用</summary>
/// <param name="p">分页器。包含分页排序参数以及Http请求参数</param>
/// <returns></returns>
protected override IEnumerable<User> Search(Pager p)
{
var name = p["name"];
var mail = p["mail"];
var mobile = p["mobile"];
var code = p["code"];
var roleId = p["roleId"].ToInt(-1);
var departmentId = p["departmentId"].ToInt(-1);
var sex = (XCode.Membership.SexKinds)p["sex"].ToInt(-1);
var mailVerified = p["mailVerified"]?.ToBoolean();
var mobileVerified = p["mobileVerified"]?.ToBoolean();
var areaId = p["areaId"].ToInt(-1);
var online = p["online"]?.ToBoolean();
var enable = p["enable"]?.ToBoolean();
var start = p["dtStart"].ToDateTime();
var end = p["dtEnd"].ToDateTime();
return User.Search(name, mail, mobile, code, roleId, departmentId, sex, mailVerified, mobileVerified, areaId, online, enable, start, end, p["Q"], p);
}
}