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; } /// /// 创建管理员权限 /// /// /// [HttpPost] public async Task Post([FromBody] RequestBase param) { var managerToPermission = await Domain.ManagerToPermission.Create(param, m_DbContext.Set().GetQueryable()); await m_DbContext.Set().AddAsync(managerToPermission); return await UofCommitAsync(() => new CreateOrEditManagerToResponse().FromEntity(managerToPermission)); } /// /// 编辑管理员权限 /// /// /// [HttpPost] public async Task Put([FromBody] RequestBase param) { var managerToPermission = await m_DbContext.Set().FindByIdAsync(param.Data.Id); await managerToPermission.Edit(param, m_DbContext.Set().GetQueryable()); return await UofCommitAsync(() => new CreateOrEditManagerToResponse().FromEntity(managerToPermission)); } /// /// 根据操作人获取权限 /// /// /// [HttpGet] public async Task GetByOperator([FromQuery]QueryByIdRequest request) { List list = await _managerPermissionService.GetByOperator(request,true); return Success(list, "成功"); } /// /// 根据登录人的权限权限 /// /// /// [HttpGet] public async Task GetPermissions() { QueryByIdRequest request = new QueryByIdRequest() { Id = this.Request.GetManageUserInfo().OperaterId }; List list = await _managerPermissionService.GetByOperator(request, false); return Success(list, "成功"); } } }