using Yi.RBAC.Application.Contracts.Identity; using NET.AutoWebApi.Setting; using Yi.RBAC.Application.Contracts.Identity.Dtos; using Yi.RBAC.Domain.Identity.Entities; using Yi.Framework.Ddd.Services; using Yi.RBAC.Domain.Identity; using Microsoft.AspNetCore.Identity; using Yi.Framework.Uow; namespace Yi.RBAC.Application.Identity { /// /// Role服务实现 /// [AppService] public class RoleService : CrudAppService, IRoleService, IAutoApiService { [Autowired] private RoleManager _roleManager { get; set; } [Autowired] private IUnitOfWorkManager _unitOfWorkManager { get; set; } /// /// 添加角色 /// /// /// public override async Task CreateAsync(RoleCreateInputVo input) { RoleGetOutputDto outputDto; using (var uow = _unitOfWorkManager.CreateContext()) { var entity = await MapToEntityAsync(input); await _repository.InsertAsync(entity); outputDto = await MapToGetOutputDtoAsync(entity); await _roleManager.GiveRoleSetMenuAsync(new List { entity.Id }, input.MenuIds); uow.Commit(); } return outputDto; } } }