public virtual async Task <ApiResult <bool> > SingUpAsync(SingUpRequest request, CancellationToken cancellationToken)
        {
            var command = _mapper.Map <SingUpRequest, CreateUserCommand>(request);

            var result = await _mediator.Send(command, cancellationToken);

            return(new ApiResult <bool>(result));
        }
Beispiel #2
0
        public virtual async Task <ApiResult <bool> > SingUpAsync(SingUpRequest request, CancellationToken cancellationToken)
        {
            var command = new CreateUserCommand
            {
                Age      = request.Age,
                Email    = request.Email,
                FullName = request.FullName,
                Gender   = request.Gender,
                Password = request.Password,
                UserName = request.UserName
            };

            var result = await Mediator.Send(command);

            return(new ApiResult <bool>(result));
        }
Beispiel #3
0
        public virtual IActionResult SignUp([FromBody] SingUpRequest request)
        {
            mLogger.Info("", Codes.Signup, "User signup attempt.", mReferenceId,
                         new { request });

            try
            {
                if (string.IsNullOrEmpty(request?.ActivationKey))
                {
                    throw new NotValidRequestException(request == null ? "Emtpy request." : "Activation key not setted.");
                }

                var signupData = mSignupDataProvider.GetSignUpData(request.ActivationKey);

                if (signupData == null)
                {
                    throw new NotValidRequestException("Not valid");
                }

                var createdUser = mCore.UsersApi.CreateUser(new User
                {
                    Login      = request.Data?.Login,
                    Email      = signupData.Email,
                    Country    = request.Data?.Country,
                    Gender     = request.Data?.Gender,
                    BirthDate  = request.Data?.BirthDate,
                    FirstName  = request.Data?.FirstName,
                    SecondName = request.Data?.SecondName,
                    TimeZone   = request.Data?.TimeZone
                });
                mCore.UsersApi.AddAuthenticationData(createdUser, UsersApi.LoginTypes.LoginPassword, request.Password);

                mLogger.Info("", Codes.Signup, "User signup success.", mReferenceId,
                             new { request });
                return(new ObjectResult(new SingUpResponse()));
            }
            catch (NotValidRequestException exception)
            {
                mLogger.Info("SomeUser", Codes.Login, "Login error", mReferenceId);
                return(BadRequest(exception.Message));
            }
        }