using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Hncore.Infrastructure.WebApi;
using Hncore.Pass.Manage.Configs;
using Hncore.Pass.Manage.Util;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.Options;
namespace Hncore.Pass.Manage.Controllers
{
///
/// 管理员权限模块专用父控制器(提供了一些在管理员权限模块中专用的功能)
///
///
[ApiVersion("1.0")]
[Route("api/Manage/v{version:apiVersion}/[controller]/[action]")]
public class ManageControllerBase : HncoreControllerBase
{
///
/// 配置文件数据承载对象
///
protected readonly AppSettings _appSettings;
///
/// 构造函数
///
/// HTTP上下文访问对象
///
public ManageControllerBase (IHttpContextAccessor hca)
{
//获取当前应用配置信息承载对象
var oa=hca.HttpContext.RequestServices.GetService(typeof(IOptionsMonitor)) as IOptionsMonitor;
this._appSettings = oa.CurrentValue;
}
///
/// 创建成功分页结果对象
///
/// 数据类型
/// 记录总数
/// 数据对象
/// 提示信息
/// 响应给客户端的结果对象
///
protected ApiResultPaged SuccessPaged(int total, T data, string message = "") where T : class, new()
{
return new ApiResultPaged(ResultCode.C_SUCCESS, message) {TotalCount=total, Data = data };
}
///
/// 创建失败分页结果对象
///
/// 数据类型
/// 提示信息
/// 响应给客户端的结果对象
///
protected ApiResultPaged ErrorPaged(string message = "") where T : class, new()
{
return new ApiResultPaged(ResultCode.C_UNKNOWN_ERROR, message) { TotalCount = 0 };
}
}
}