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));; }