public async Task <RESTResult> SetPermissionToRoleAsync(Guid currentUserId, RolePermissionTransferObject rolePermissionInfo) { RESTResult result = new RESTResult { Code = RESTStatus.NotData }; if (rolePermissionInfo.RoleId == null) { result.Message = "The role id could not be null"; return(result); } if (rolePermissionInfo.PermissionIds.Contains(null)) { result.Message = "The permision ids could not be null"; return(result); } //TOOD:Get the current role permission var rolePermissions = await _rolePermissionRepository.GetAllListAsync(item => item.RoleId.Equals(rolePermissionInfo.RoleId)); //TODO: remove the exist role permission foreach (var item in rolePermissions) { await _rolePermissionRepository.DeleteAsync(item); } RolePermission rolePermissionEntity; foreach (var permissionId in rolePermissionInfo.PermissionIds) { //TODO: Add new permission; rolePermissionEntity = new RolePermission { RoleId = rolePermissionInfo.RoleId.Value, PermissionId = permissionId.Value, CreateByUserId = currentUserId, CreateTime = DateTime.Now }; await _rolePermissionRepository.InsertAsync(rolePermissionEntity); } result.Code = RESTStatus.Success; result.Message = "Set permission to role successful"; return(result); }
public async Task <IActionResult> SetRolePermission([FromBody] RolePermissionTransferObject rolePermissionInfo) { return(Ok(await _userAppService.SetPermissionToRoleAsync(CurrentUser.Id.Value, rolePermissionInfo))); }