Пример #1
0
        public async Task <IActionResult> RegisterNewUser([FromBody] RegisterNewUserRequest request)
        {
            await _userAccessModule.ExecuteCommandAsync(new RegisterNewUserCommand(request.Login, request.Password,
                                                                                   request.Email,
                                                                                   request.FirstName, request.LastName));

            return(Ok());
        }
Пример #2
0
        public async Task RegisterNewUserAsync(RegisterNewUserRequest request)
        {
            var url = _urls.UserAccess + UrlsConfig.UserAccessOperations.RegisterNewUser;

            var content = new StringContent(JsonConvert.SerializeObject(request), Encoding.UTF8, "application/json");

            var response = await _httpClient.PostAsync(url, content);

            if (!response.IsSuccessStatusCode)
            {
                var responseContent = await response.Content.ReadAsStringAsync();

                throw new BusinessRuleValidationException(responseContent);
            }
        }
Пример #3
0
        /// <summary>
        /// Register a new User with the Bouncer REST API
        /// <para>NOTE: The REST API must be started with --testing parameter to support User Registration</para>
        /// </summary>
        public static void registerNewUser()
        {
            var client = new BouncerAPIClient();

            try
            {
                var register_request = new RegisterNewUserRequest
                {
                    Username = TEST_USER,
                    Password = TEST_USER_PASSWORD
                };
                var register_response = client.UsersLoginRegistration.RegisterNewUser(register_request);
                Console.WriteLine($"Use Registered Successfully :- {register_response.Message}");
            }
            catch (APIException exception)
            {
                printException("Register New User =>", exception);
            }
        }
Пример #4
0
 public Task <RegisterNewUserResponse> RegisterUser([FromBody] RegisterNewUserRequest registerUserRequest) => _mediator.Send(registerUserRequest);
Пример #5
0
        public async Task <ActionResult> RegisterNewUser(RegisterNewUserRequest request)
        {
            request.UserName = request.UserName != null?request.UserName.Trim() : request.UserName;

            request.Email = request.Email != null?request.Email.Trim() : request.Email;

            request.Password  = request.Password.Trim();
            request.Password2 = request.Password2.Trim();

            if (string.IsNullOrWhiteSpace(request.UserName))
            {
                throw new BusinessException("EmptyUserName", "Kullanıcı adı boş olamaz.");
            }

            if (string.IsNullOrWhiteSpace(request.Email))
            {
                throw new BusinessException("EmptyEmail", "Email boş olamaz.");
            }

            if (!Validations.IsValidEmail(request.Email))
            {
                throw new BusinessException("NotValidEmail", "Geçerli bir E-Mail adresi girin.");
            }

            if (string.IsNullOrWhiteSpace(request.FullName))
            {
                throw new BusinessException("EmptyFullname", "İsim boş olamaz.");
            }

            if (string.IsNullOrWhiteSpace(request.Password))
            {
                throw new BusinessException("EmptyPassword", "Şifre boş olamaz.");
            }

            if (request.Password != request.Password2)
            {
                throw new BusinessException("PasswordsMustBeSame", "Şifreler eşit olmalı.");
            }

            if (request.Password.Length < 6)
            {
                throw new BusinessException("PasswordLengthError", "Şifre 6 karakterden az olamaz.");
            }

            var existingUser = await _userManager.FindByNameAsync(request.UserName);

            if (existingUser != null)
            {
                throw new BusinessException("UserAlreadyExists", "Kullanıcı zaten mevcut.");
            }

            var userByMail = await _userManager.FindByEmailAsync(request.Email);

            if (userByMail != null)
            {
                throw new BusinessException("EmailAlreadyExists", "Email zaten mevcut.");
            }

            var user = new ConsumerUser
            {
                UserName           = request.UserName,
                Email              = request.Email,
                FullName           = request.FullName,
                CreateDate         = DateTime.UtcNow,
                Gender             = request.Gender,
                RelationshipStatus = request.RelationshipStatus,
                Job         = request.Job,
                PicturePath = "defaultProfilePicture.png"
            };

            if (request.BirthDate.HasValue)
            {
                user.BirthDate = new DateTime(request.BirthDate.Value.Year, request.BirthDate.Value.Month, request.BirthDate.Value.Day);
            }

            if (request.BirthTime.HasValue)
            {
                user.BirthTime = new DateTime(1, 1, 1, request.BirthTime.Value.Hour, request.BirthTime.Value.Minute, 0);
            }

            await _userManager.CreateAsync(user, request.Password);

            await _userManager.AddToRoleAsync(user, "Consumer");

            var token = await _userManager.GenerateEmailConfirmationTokenAsync(user);

            var entryUrl = _configuration.GetValue <string>("EntryUrl");
            var emailConfirmationLink = entryUrl + "/#/newUserConfirmation?email=" + request.Email + "&token=" + WebUtility.UrlEncode(token);

            var userConfirmationMailTemplatePath = _environment.ContentRootPath + "\\Assets\\Templates\\UserConfirmationMail.html";
            var template = System.IO.File.ReadAllText(userConfirmationMailTemplatePath);

            template = template
                       .Replace("[userName]", request.FullName)
                       .Replace("[confirmationLink]", emailConfirmationLink);

            _emailHelper.Send(
                new EmailModel
            {
                To         = request.Email,
                Subject    = "Falcım - Kullanıcı Onayı",
                IsBodyHtml = true,
                Message    = template
            }
                );

            return(Ok());
        }
        public async Task <IActionResult> Register(RegisterNewUserRequest request)
        {
            await _userAccessApiClient.RegisterNewUserAsync(request);

            return(Ok());
        }