public async Task <UserInfo> CreateUserAsync(ExternalRegisterDto userDto) { using (var transaction = _UserServiceDbContext.Database.BeginTransaction()) { try { var identityUser = await AddIdentityUser(userDto.Email); await _UserManager.AddLoginAsync(identityUser, new UserLoginInfo(userDto.Provider, userDto.ProviderUserId, userDto.Provider)); var user = await AddUserInfo(identityUser, userDto.FirstName, userDto.LastName); await _UserServiceDbContext.SaveChangesAsync(); transaction.Commit(); return(user); } catch (Exception e) { transaction.Rollback(); return(null); } } }
public async Task Handle(ChangeEmailRequestEmail request, CancellationToken cancellationToken) { var user = await _dbContext.Users .SingleOrDefaultAsync(x => x.Id == request.AggregateRootId, cancellationToken) .ConfigureAwait(false); user.Email = request.NewEmail; await _dbContext.SaveChangesAsync(cancellationToken); }
public async Task Handle(DeleteUserRequestEvent request, CancellationToken cancellationToken) { var user = await _dbContext.Users.SingleOrDefaultAsync(x => x.Id == request.AggregateRootId, cancellationToken) .ConfigureAwait(false); _dbContext.Users.Remove(user); await _dbContext.SaveChangesAsync(cancellationToken); }
public async Task Handle(UserEmailVerifiedEvent request, CancellationToken cancellationToken) { var user = await _dbContext.Users.SingleOrDefaultAsync(x => x.Id == request.AggregateRootId, cancellationToken) .ConfigureAwait(false); user.IsEmailVerified = true; await _dbContext.SaveChangesAsync(cancellationToken); }
public async Task Handle(CreateUserRequestEvent notification, CancellationToken cancellationToken) { var user = new User { Id = notification.AggregateRootId, Email = notification.Email, EncryptionKeyId = notification.AggregateRootId }; _dbContext.Add(user); await _dbContext.SaveChangesAsync(cancellationToken).ConfigureAwait(false); }