Esempio n. 1
0
        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;
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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);
        }
Esempio n. 5
0
 private async Task <DbUser> LoadUser(JoinIdentityUser joinIdentityUser, CancellationToken ct = default) =>
 await _ctx.UserSet.Include(u => u.ExternalLogins).SingleOrDefaultAsync(user => user.UserId == joinIdentityUser.Id, ct);