Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 5
0
        public Task <AccountResult?> CreateUserWithouthPassword(RegisterNewUserWithoutPassCommand command)
        {
            var user = _userFactory.Create(command);

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