/// <summary> /// Deletes a login from a user in the UserLogins table /// </summary> /// <param name="user">User to have login deleted</param> /// <param name="login">Login to be deleted from user</param> /// <returns></returns> public async Task DeleteAsync(IdentityUser user, UserLoginInfo login) { AspNetUserLogins foundLogin = await _identityEntities.AspNetUserLogins.SingleOrDefaultAsync(userLogin => userLogin.UserId == user.Id && userLogin.LoginProvider == login.LoginProvider && userLogin.ProviderKey == login.ProviderKey); if (foundLogin != null) { _identityEntities.AspNetUserLogins.Remove(foundLogin); await _identityEntities.SaveChangesAsync(); } }
/// <summary> /// Deltes a role from the Roles table /// </summary> /// <param name="roleId">The role Id</param> /// <returns></returns> public async Task DeleteRoleAsync(string roleId) { if (!String.IsNullOrEmpty(roleId)) { Roles currentRole = await _identityEntities.Roles.SingleOrDefaultAsync(role => role.Id == roleId); if (currentRole != null) { _identityEntities.Roles.Remove(currentRole); await _identityEntities.SaveChangesAsync(); } } }
/// <summary> /// Deletes all claims from a user using user's Id /// </summary> /// <param name="userId">The user's id</param> /// <returns></returns> public async Task DeleteClaimsAsync(string userId) { if (!String.IsNullOrEmpty(userId)) { List <UserClaims> foundClaim = await _identityEntities.UserClaims.Where(claim => claim.UserId == userId).ToListAsync(); if (foundClaim != null) { _identityEntities.UserClaims.RemoveRange(foundClaim); await _identityEntities.SaveChangesAsync(); } } }
/// <summary> /// Sets the user's password hash /// </summary> /// <param name="userId"></param> /// <param name="passwordHash"></param> /// <returns></returns> public async Task SetPasswordHashAsync(string userId, string passwordHash) { if (!String.IsNullOrWhiteSpace(userId) && !String.IsNullOrWhiteSpace(passwordHash)) { AspNetUsers foundUser = await _identityEntities.AspNetUsers.SingleOrDefaultAsync(u => u.Id == userId); if (foundUser != null) { foundUser.PasswordHash = passwordHash; await _identityEntities.SaveChangesAsync(); } } }
/// <summary> /// Sets to user given role ID /// </summary> /// <param name="userId"></param> /// <param name="roleId"></param> /// <returns></returns> public async Task SetUserRoleAsync(string userId, string roleId) { if (!String.IsNullOrEmpty(userId) && !String.IsNullOrEmpty(roleId)) { Users currentUser = await _identityEntities.Users.SingleOrDefaultAsync(user => user.Id == userId); if (currentUser != null) { currentUser.RoleId = roleId; await _identityEntities.SaveChangesAsync(); } } }