public async Task CreateAsync(BUser user) { var dUser = user.ToDbUser(); await InsertAsync(dUser); user.Id = dUser.Id; }
public Task <bool> IsInRoleAsync(BUser user, string rolename) { return(_dbContext.UserRoles .Include(u => u.User) .Include(u => u.Role) .Where(u => u.Role.Name == rolename && u.UserId == user.Id) .AnyAsync()); }
public static DUser ToDbUser(this BUser user) => new DUser { Id = user.Id, Email = user.Email, PasswordHash = user.PasswordHash, HashSalt = user.HashSalt, Phone = user.PhoneNumber, UserName = user.UserName };
public async Task <IList <string> > GetRolesAsync(BUser user) { var roles = await _dbContext.UserRoles .Include(u => u.Role) .Include(u => u.User) .Where(u => u.UserId == user.Id) .Select(r => r.Role.Name).ToListAsync(); return(roles); }
public async Task RemoveFromRoleAsync(BUser user, string rolename) { var userRoles = _dbContext.UserRoles .Include(u => u.User) .Include(u => u.Role) .Where(u => u.Role.Name == rolename && u.UserId == user.Id); _dbContext.UserRoles.RemoveRange(userRoles); await _dbContext.SaveChangesAsync(); }
public async Task AddToRoleAsync(BUser user, string rolename) { var role = await _dbContext.Roles.FirstOrDefaultAsync(r => r.Name == rolename); if (role != null) { _dbContext.UserRoles.Add(new UserRole { UserId = user.Id, RoleId = role.Id }); await _dbContext.SaveChangesAsync(); } throw new NullReferenceException("The role reference does not exist"); }
public async Task UpdateAsync(BUser user) { var dUser = await GetAsync(user.Id); if (dUser != null) { dUser.Email = user.Email; dUser.Phone = user.PhoneNumber; dUser.DateUpdated = DateTime.Now; dUser.UserName = user.UserName; dUser.PasswordHash = user.PasswordHash; dUser.HashSalt = user.HashSalt; await UpdateAsync(dUser); } else { throw new UserReferenceNotFoundException("The user id does not exist"); } }
public async Task DeleteAsync(BUser user) { await DeleteAsync(user.Id); }