Files
juipnet/Services/Hncore.Pass.Manage/Controllers/ManagerToPermissionController.cs
wanyongkang d318014316 初始提交
2020-10-07 20:25:03 +08:00

92 lines
3.3 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Hncore.Infrastructure.DDD;
using Hncore.Infrastructure.WebApi;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Hncore.Pass.Manage.Request;
using Hncore.Pass.Manage.Response;
using Hncore.Pass.Manage.Service;
using Hncore.Infrastructure.Common;
using Hncore.Pass.Manage.Domain;
using Hncore.Pass.Manage.Repository;
using Hncore.Infrastructure.EF;
namespace Hncore.Pass.Manage.Controllers
{
public class ManagerToPermissionController : ManageControllerBase
{
EfDbContext m_DbContext { get; set; }
private ManagerPermissionService _managerPermissionService ;
public ManagerToPermissionController(EfDbContext _DbContext,
ManagerPermissionService managerPermissionService,
IHttpContextAccessor hca) : base(hca)
{
m_DbContext = _DbContext;
_managerPermissionService = managerPermissionService;
}
/// <summary>
/// 创建管理员权限
/// </summary>
/// <param name="param"></param>
/// <returns></returns>
[HttpPost]
public async Task<ApiResult> Post([FromBody] RequestBase<EditManagerToPermissionRequest> param)
{
var managerToPermission = await Domain.ManagerToPermission.Create(param, m_DbContext.Set<ManagerToPermission>().GetQueryable());
await m_DbContext.Set<ManagerToPermission>().AddAsync(managerToPermission);
return await UofCommitAsync(() => new CreateOrEditManagerToResponse().FromEntity(managerToPermission));
}
/// <summary>
/// 编辑管理员权限
/// </summary>
/// <param name="param"></param>
/// <returns></returns>
[HttpPost]
public async Task<ApiResult> Put([FromBody] RequestBase<EditManagerToPermissionRequest> param)
{
var managerToPermission = await m_DbContext.Set<ManagerToPermission>().FindByIdAsync(param.Data.Id);
await managerToPermission.Edit(param, m_DbContext.Set<ManagerToPermission>().GetQueryable());
return await UofCommitAsync(() => new CreateOrEditManagerToResponse().FromEntity(managerToPermission));
}
/// <summary>
/// 根据操作人获取权限
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[HttpGet]
public async Task<ApiResult> GetByOperator([FromQuery]QueryByIdRequest request)
{
List<QueryPermissionResponse> list = await _managerPermissionService.GetByOperator(request,true);
return Success(list, "成功");
}
/// <summary>
/// 根据登录人的权限权限
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[HttpGet]
public async Task<ApiResult> GetPermissions()
{
QueryByIdRequest request = new QueryByIdRequest() { Id = this.Request.GetManageUserInfo().OperaterId };
List<QueryPermissionResponse> list = await _managerPermissionService.GetByOperator(request, false);
return Success(list, "成功");
}
}
}