Exemple #1
0
        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());
        }
Exemple #2
0
        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());
        }