public async Task <IActionResult> AddUserToRole(string roleId, string userId) { RomiRole role = null; RomiUser user = null; using (var uow = new UnitOfWork <RomiRole>(new RomiDbContext())) { role = await uow.Repository().SingleOrDefaultAsync(t => t.Id == roleId); if (role == null) { return(this.BadRequest(new { Message = $"RoleId '{roleId}' not found" })); } } using (var uow = new UnitOfWork <RomiUser>(new RomiDbContext())) { user = await uow.Repository().SingleOrDefaultAsync(t => t.Id == userId); if (user == null) { return(this.BadRequest(new { Message = $"UserId '{userId}' not found" })); } } await this._userManager.AddToRoleAsync(user, role.Name); return(this.Ok()); }
public async Task <IEnumerable <UserInfo> > GetUsers(string roleId) { RomiRole role = null; using (var uow = new UnitOfWork <RomiRole>(new RomiDbContext())) { role = await uow.Repository().SingleOrDefaultAsync(t => t.Id == roleId || t.Name == roleId); if (role == null) { throw new Exception($"Role '{roleId}' not found"); } } var users = await this._userManager.GetUsersInRoleAsync(role.Name); return(users.Select( t => new UserInfo() { Id = t.Id, Username = t.UserName, FirstName = t.FirstName, LastName = t.LastName, }).ToList()); }