private async Task CreateImpl(JoinIdentityUser user, CancellationToken ct = default) { if (user == null) { throw new ArgumentNullException(nameof(user)); } var hasAnyUser = await UserSet.AnyAsync(ct); var dbUser = new DbUser() { UserName = user.UserName, Email = user.UserName, Auth = new UserAuthDetails() { RegisterDate = DateTime.UtcNow, AspNetSecurityStamp = "", }, }; if (!hasAnyUser) { dbUser.Auth.EmailConfirmed = true; dbUser.Auth.IsAdmin = true; } _ctx.UserSet.Add(dbUser); await _ctx.SaveChangesAsync(ct); user.Id = dbUser.UserId; }
private async Task SetUserNameImpl(JoinIdentityUser user, string email, CancellationToken ct = default) { var dbUser = await LoadUser(user, ct); dbUser.Email = email; dbUser.UserName = email; await _ctx.SaveChangesAsync(ct); }
private async Task UpdateImpl(JoinIdentityUser user, CancellationToken ct = default) { var dbUser = await LoadUser(user, ct); dbUser.UserName = user.UserName; dbUser.Email = user.UserName; await _ctx.SaveChangesAsync(ct); }
private async Task UpdateImpl(JoinIdentityUser user, CancellationToken ct = default) { var dbUser = await LoadUser(user, ct); dbUser.UserName = user.UserName; dbUser.Email = user.UserName; dbUser.Auth.EmailConfirmed = user.EmaiLConfirmed; dbUser.PasswordHash = user.PasswordHash; _ = await _ctx.SaveChangesAsync(ct); }
private async Task <DbUser> LoadUser(JoinIdentityUser joinIdentityUser, CancellationToken ct = default) => await _ctx.UserSet.Include(u => u.ExternalLogins).SingleOrDefaultAsync(user => user.UserId == joinIdentityUser.Id, ct);