public async Task <IActionResult> RegisterClient(UserForRegisterClientDto userForRegisterClientDto)
        {
            var user = await this.repo.RegisterClient(userForRegisterClientDto);

            if (user != null)
            {
                return(StatusCode(201));
                // ToDo: Return not only the code, but also the route where the user is available
                // ToDo: Return the user with the response too, mapped to a userForDetailedDto -> v.204
            }

            return(BadRequest("Not possible to register the user. Try with another email."));
        }
        public async Task <User> RegisterClient(UserForRegisterClientDto userForRegisterClientDto)
        {
            var userToCreate = this.mapper.Map <User>(userForRegisterClientDto); // Map a user from the recived dto

            userToCreate.Created = DateTime.Now;
            var result = await this.userManager.CreateAsync(userToCreate, userForRegisterClientDto.Password); // set "password" as default password

            if (result.Succeeded)
            {
                var userCreated = userManager.FindByEmailAsync(userForRegisterClientDto.Email).Result;
                result = await userManager.AddToRolesAsync(userCreated, new[] { "Client" });

                if (result.Succeeded)
                {
                    return(userCreated);
                }
                // ToDo: Return not only the code, but also the route where the user is available
                // ToDo: Return the user with the response too, mapped to a userForDetailedDto -> v.204
            }

            return(null);
        }