public async Task <IActionResult> Register([FromBody] RegisterDtoRequest registerDto)
        {
            if (!ModelState.IsValid)
            {
                return(StatusCodeAndDtoWrapper.BuilBadRequest(ModelState));
            }
            var user = new ApplicationUser
            {
                UserName = registerDto.Username,
                Email    = registerDto.Email
            };

            var result = await _usersService.CreateUserAsync(user, registerDto.Password);

            if (result.Succeeded)
            {
                // return StatusCodeAndDtoWrapper.BuildSuccess("Registered successfully");
                return(Ok(
                           new
                {
                    success = true,
                    full_messages = new string[]
                    {
                        "Register was successful",
                    }
                }));
            }
            else
            {
                return(StatusCodeAndDtoWrapper.BuildBadRequest(result.Errors));
            }
        }
        public async Task <IActionResult> Register([FromBody] RegisterUserDto registerDto)
        {
            if (!ModelState.IsValid)
            {
                return(StatusCodeAndDtoWrapper.BuilBadRequest(ModelState));
            }
            var user = new ApplicationUser
            {
                FirstName = registerDto.FirstName,
                LastName  = registerDto.LastName,
                UserName  = registerDto.Username,
                Email     = registerDto.Email
            };

            var result = await _usersService.Create(user, registerDto.Password);

            if (result.Succeeded)
            {
                if (result.Succeeded)
                {
                    result = await _usersService.AddToRoleAsync(user, "ROLE_USER");

                    if (result.Succeeded)
                    {
                        return(StatusCodeAndDtoWrapper.BuildSuccess("Registered successfully"));
                    }
                    else
                    {
                        return(StatusCodeAndDtoWrapper.BuildBadRequest(result.Errors));
                    }
                }
                else
                {
                    return(StatusCodeAndDtoWrapper.BuildBadRequest(result.Errors));
                }
            }
            else
            {
                return(StatusCodeAndDtoWrapper.BuildBadRequest(result.Errors));
            }
        }