public async Task <User> Post(SignUpQueryFilter model)
        {
            User user = null;

            using (MySqlConnection connection = new MySqlConnection(connectionString))
            {
                var sqlResponse =
                    await connection.QueryAsync <int>($@"
                        insert into
                            users
                                (name, email, password, dateBirth, phone, adoptionRating, registrationDate)
                            values
                                ('{model.Name}', '{model.Email.ToLower()}', '{model.Password}', '{Convert.ToDateTime(model.Birthday).ToString("yyyy-MM-dd")}', '{model.Phone.ToLower()}', '10', now());

                        SELECT CAST(LAST_INSERT_ID() AS UNSIGNED INTEGER);
                    ");

                user = new User()
                {
                    Id = sqlResponse.Single()
                };
            }

            return(user);
        }
        public async Task <IActionResult> SignUp(SignUpQueryFilter model)
        {
            var response = await userService.Post(model);

            var apiResponse = new ApiResponse <UserDto>(
                response.IsDone,
                response.Message,
                mapper.Map <User, UserDto>(response.Data),
                null
                );

            return(Ok(apiResponse));
        }
        public async Task <Response <User> > Post(SignUpQueryFilter model)
        {
            var existsUser = await userRepository.GetByEmailPhone(model.Email, model.Phone);

            if (existsUser)
            {
                throw new BusinessException("Ya existe un usuario con el correo electrónico y/o teléfono que indició");
            }

            var user = await userRepository.Post(model);

            if (user == null)
            {
                throw new BusinessException("Ha ocurrido un error al intentar registrarlo, intente nuevamente");
            }

            return(new Response <User>(true, "Usuario registrado", user));;
        }