using Hncore.Infrastructure.Extension;
using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json;
namespace Hncore.Infrastructure.WebApi
{
///
/// 请求顶级父类
///
public class RequestBase
{
[JsonProperty("TenantId")]
[FromQuery(Name = "TenantId")]
public int? __tenantId { get; set; }
///
/// 隶属物业数据库ID
///
[JsonIgnore]
public int TenantId
{
get => __tenantId.ToInt();
set => __tenantId = value;
}
[JsonProperty("OperaterId")]
[FromQuery(Name = "OperaterId")]
public int? __operaterId { get; set; }
///
/// 当前操作员数据库ID
///
[JsonIgnore]
public int OperaterId
{
get => __operaterId.ToInt();
set => __operaterId = value;
}
[JsonProperty("ProjectCode")]
[FromQuery(Name = "ProjectCode")]
public int? __projectCode { get; set; }
///
/// 隶属项目编码
///
[JsonIgnore]
public int ProjectCode
{
get => __projectCode.ToInt();
set => __projectCode = value;
}
}
///
/// 泛型请求父类(主要用于在请求时携带数据)
///
/// 携带的数据类型
public class RequestBase : RequestBase
{
///
/// 请求携带的数据对象
///
public T Data { get; set; }
}
///
/// 分页请求父类(主要用于分页请求操作)
///
///
public class PageRequestBase : RequestBase
{
[JsonProperty("PageIndex")]
[FromQuery(Name = "PageIndex")]
public int? __pageIndex { get; set; } = 1;
///
/// 当前页码
///
[JsonIgnore]
public int PageIndex
{
get => __pageIndex.ToInt();
set => __pageIndex = value;
}
[JsonProperty("PageSize")]
[FromQuery(Name = "PageSize")]
public int? __pageSize { get; set; } = 50;
///
/// 每页条目数
///
[JsonIgnore]
public int PageSize
{
get => __pageSize.ToInt();
set => __pageSize = value;
}
public string KeyWord { get; set; }
}
///
/// 泛型分页请求父类(在分页请求的基础之上携带数据)
///
/// 携带的数据类型
public class PageRequestBase : PageRequestBase
{
///
/// 请求携带的数据对象
///
public T Data { get; set; }
}
///
/// 主键ID查询请求类(主要用于根据一个主键ID查询单条数据的情况)
///
public class QueryByIdRequest : RequestBase
{
///
/// 记录的数据库主键ID
///
public int Id { get; set; }
}
}