Esempio n. 1
0
        //Seeds the db with user roles
        private async Task SeedUserRoles(BlogUser newUser)
        {
            var username = newUser.UserName;

            if (AdminUsers.Any(x => (x + DefaultEmail).Contains(username)))
            {
                await _userManager.AddToRoleAsync(newUser, AdminRole);
            }
            else if (EditorUsers.Any(x => (x + DefaultEmail).Contains(username)))
            {
                await _userManager.AddToRoleAsync(newUser, EditorRole);
            }
            else if (FollowerUsers.Any(x => (x + DefaultEmail).Contains(username)))
            {
                await _userManager.AddToRoleAsync(newUser, FollowerRole);
            }
        }
Esempio n. 2
0
        //Returns an object that includes the role of a user
        private static User GetAccountView(BlogUser blogUser, string role)
        {
            var user = new User()
            {
                Id                   = blogUser.Id,
                Name                 = blogUser.Name,
                DisplayName          = blogUser.DisplayName,
                UserName             = blogUser.UserName,
                Email                = blogUser.Email,
                EmailConfirmed       = blogUser.EmailConfirmed,
                PhoneNumber          = blogUser.PhoneNumber,
                PhoneNumberConfirmed = blogUser.PhoneNumberConfirmed,
                Role                 = role
            };

            return(user);
        }
Esempio n. 3
0
        //Replace user old role with new role
        private async Task <bool> UpdateUserRole(User updatedUser, BlogUser oldUser)
        {
            var usersRoles = await _userManager.GetRolesAsync(oldUser);

            var userRole = usersRoles.First();

            if (userRole.Equals(updatedUser.Role))
            {
                return(true);
            }

            var roleRemovingResult = await RemoveUserFromRoles(oldUser, usersRoles);

            var roleAddingResult = await AddUserToRole(oldUser, updatedUser.Role);

            return(roleRemovingResult && roleAddingResult);
        }
Esempio n. 4
0
        //Adds user to a role
        private async Task <bool> AddUserToRole(BlogUser user, string role)
        {
            var result = await _userManager.AddToRoleAsync(user, role);

            return(result.Succeeded);
        }
Esempio n. 5
0
        //Removes all of user roles
        private async Task <bool> RemoveUserFromRoles(BlogUser user, IList <string> usersRoles)
        {
            var result = await _userManager.RemoveFromRolesAsync(user, usersRoles);

            return(result.Succeeded);
        }