public async Task Handle(RegisterNewUserWithoutPassCommand request, CancellationToken cancellationToken) { if (!request.IsValid()) { NotifyValidationErrors(request); return; } var user = new User() { Id = Guid.NewGuid(), Email = request.Email, Name = request.Name, UserName = request.Username, PhoneNumber = request.PhoneNumber, Picture = request.Picture }; var id = await _userService.CreateUserWithProvider(user, request.Provider, request.ProviderId); if (id.HasValue) { await Bus.RaiseEvent(new UserRegisteredEvent(id.Value, user.Name, user.Email)); } }
public async Task <bool> Handle(RegisterNewUserWithoutPassCommand request, CancellationToken cancellationToken) { if (!request.IsValid()) { NotifyValidationErrors(request); return(false); } var user = new ApplicationUser { Id = Guid.NewGuid(), Email = request.Email, UserName = request.UserName, PhoneNumber = request.PhoneNumber, Uid = _idGenerator.CreateId() }; if (!string.IsNullOrEmpty(user.Email)) { var emailAlreadyExist = await _userManager.FindByEmailAsync(user.Email); if (emailAlreadyExist != null) { await _bus.RaiseEvent(new DomainNotification("email_already_existed", "E-mail already exist. If you don't remember your passwork, reset it.")); return(false); } } var usernameAlreadyExist = await _userManager.FindByNameAsync(user.UserName); if (usernameAlreadyExist != null) { await _bus.RaiseEvent(new DomainNotification("username_already_existed", "Username already exist. If you don't remember your passwork, reset it.")); return(false); } var id = await CreateUserWithProvider(user, request.Provider, request.ProviderId); if (id.HasValue) { await _bus.RaiseEvent(new UserRegisteredEvent(id.Value.ToString(), user.UserName, user.Email)); return(true); } return(false); }
public async Task <bool> Handle(RegisterNewUserWithoutPassCommand request, CancellationToken cancellationToken) { if (!request.IsValid()) { NotifyValidationErrors(request); return(false);; } var user = new User( id: Guid.NewGuid(), email: request.Email, name: request.Name, userName: request.Username, phoneNumber: request.PhoneNumber, picture: request.Picture ); var emailAlreadyExist = await _userService.FindByEmailAsync(user.Email); if (emailAlreadyExist != null) { await Bus.RaiseEvent(new DomainNotification("1001", "E-mail already exist. If you don't remember your passwork, reset it.")); return(false); } var usernameAlreadyExist = await _userService.FindByNameAsync(user.UserName); if (usernameAlreadyExist != null) { await Bus.RaiseEvent(new DomainNotification("1002", "Username already exist. If you don't remember your passwork, reset it.")); return(false); } var id = await _userService.CreateUserWithProvider(user, request.Provider, request.ProviderId); if (id.HasValue) { await Bus.RaiseEvent(new UserRegisteredEvent(id.Value, user.Name, user.Email)); return(true); } return(false); }
public async Task <bool> Handle(RegisterNewUserWithoutPassCommand request, CancellationToken cancellationToken) { if (!request.IsValid()) { NotifyValidationErrors(request); return(false); } var user = request.ToModel(); var emailAlreadyExist = await _userService.FindByEmailAsync(user.Email); if (emailAlreadyExist != null) { await Bus.RaiseEvent(new DomainNotification("New User", "E-mail already exist. If you don't remember your passwork, reset it.")); return(false); } var usernameAlreadyExist = await _userService.FindByNameAsync(user.UserName); if (usernameAlreadyExist != null) { await Bus.RaiseEvent(new DomainNotification("New User", "Username already exist. If you don't remember your passwork, reset it.")); return(false); } var result = await _userService.CreateUserWithProvider(user, request.Provider, request.ProviderId); if (result.HasValue) { await SendEmailToUser(user, request, result.Value, EmailType.NewUserWithoutPassword); await Bus.RaiseEvent(new UserRegisteredEvent(result.Value.Id, user.Name, user.Email)); return(true); } return(false); }
public Task <AccountResult?> CreateUserWithouthPassword(RegisterNewUserWithoutPassCommand command) { var user = _userFactory.Create(command); return(CreateUser(user, command, null, command.Provider, command.ProviderId)); }