public async Task <bool> Handle(RegisterNewUserWithProviderCommand 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 id = await _userService.CreateUserWithProviderAndPass(user, request.Password, request.Provider, request.ProviderId);

            if (id.HasValue)
            {
                await Bus.RaiseEvent(new UserRegisteredEvent(id.Value, user.Name, user.Email));

                return(true);
            }
            return(false);
        }
예제 #2
0
        public async Task <bool> Handle(RegisterNewUserWithProviderCommand request, CancellationToken cancellationToken)
        {
            if (!request.IsValid())
            {
                NotifyValidationErrors(request);
                return(false);;
            }

            var user = new User(
                email: request.Email,
                name: request.Name,
                userName: request.Username,
                phoneNumber: request.PhoneNumber,
                picture: request.Picture,
                request.SocialNumber,
                request.Birthdate);

            var result = await _userService.CreateUserWithProviderAndPass(user, request.Password, request.Provider, request.ProviderId);

            if (result.HasValue)
            {
                await SendEmailToUser(user, request, result.Value, EmailType.NewUser);

                await Bus.RaiseEvent(new UserRegisteredEvent(result.Value.Id, user.Name, user.Email));

                return(true);
            }
            return(false);
        }
예제 #3
0
        public async Task <bool> Handle(RegisterNewUserWithProviderCommand request, CancellationToken cancellationToken)
        {
            if (!request.IsValid())
            {
                NotifyValidationErrors(request);
                return(false);;
            }

            var result = await _userService.CreateUserWithProviderAndPass(request);

            if (result.HasValue)
            {
                var user = await _userService.FindByNameAsync(request.Username);
                await SendEmailToUser(user, request, result.Value, EmailType.NewUser);

                await Bus.RaiseEvent(new UserRegisteredEvent(request.Username, user.Email));

                return(true);
            }
            return(false);
        }
예제 #4
0
        public async Task Handle(RegisterNewUserWithProviderCommand request, CancellationToken cancellationToken)
        {
            if (!request.IsValid())
            {
                NotifyValidationErrors(request);
                return;
            }

            var user = new User()
            {
                Email       = request.Email,
                Name        = request.Name,
                UserName    = request.Username,
                PhoneNumber = request.PhoneNumber,
                Picture     = request.Picture
            };
            var id = await _userService.CreateUserWithProviderAndPass(user, request.Password, request.Provider, request.ProviderId);

            if (id.HasValue)
            {
                await Bus.RaiseEvent(new UserRegisteredEvent(id.Value, user.Name, user.Email));
            }
        }
예제 #5
0
        public Task <AccountResult?> CreateUserWithProviderAndPass(RegisterNewUserWithProviderCommand command)
        {
            var user = _userFactory.Create(command);

            return(CreateUser(user, command, command.Password, command.Provider, command.ProviderId));
        }