<?php

namespace HelpGent\App\DTO;

defined( 'ABSPATH' ) || exit;

use HelpGent\WpMVC\DTO\DTO;

class ContactInfoDTO extends DTO {
    public int $id;

    public int $answer_id;

    public int $form_id;

    public int $response_id;

    public ?string $name = null;

    public ?string $first_name = null;

    public array $form_data = [];

    public ?string $last_name = null;

    public ?string $email = null;

    public ?string $mobile_number = null;

    public ?string $company = null;

    public int $is_lead = 0;

    /**
     * Get the value of id
     *
     * @return int
     */
    public function get_id(): int {
        return $this->id;
    }

    /**
     * Set the value of id
     *
     * @param int $id 
     * @return self
     */
    public function set_id( int $id ): self {
        $this->id = $id;

        return $this;
    }

    /**
     * Get the value of answer_id
     *
     * @return int
     */
    public function get_answer_id(): int {
        return $this->answer_id;
    }

    /**
     * Set the value of answer_id
     *
     * @param int $answer_id 
     * @return self
     */
    public function set_answer_id( int $answer_id ): self {
        $this->answer_id = $answer_id;

        return $this;
    }

    /**
     * Get the value of form_id
     *
     * @return int
     */
    public function get_form_id(): int {
        return $this->form_id;
    }

    /**
     * Set the value of form_id
     *
     * @param int $form_id 
     * @return self
     */
    public function set_form_id( int $form_id ): self {
        $this->form_id = $form_id;

        return $this;
    }

    /**
     * Get the value of response_id
     *
     * @return int
     */
    public function get_response_id(): int {
        return $this->response_id;
    }

    /**
     * Set the value of response_id
     *
     * @param int $response_id 
     * @return self
     */
    public function set_response_id( int $response_id ): self {
        $this->response_id = $response_id;

        return $this;
    }

    /**
     * Get the value of name
     *
     * @return ?string
     */
    public function get_name(): ?string {
        return $this->name;
    }

    /**
     * Set the value of name
     *
     * @param ?string $name 
     * @return self
     */
    public function set_name( ?string $name ): self {
        $this->name = $name;

        return $this;
    }

    /**
     * Get the value of first_name
     *
     * @return ?string
     */
    public function get_first_name(): ?string {
        return $this->first_name;
    }

    /**
     * Set the value of first_name
     *
     * @param ?string $first_name 
     * @return self
     */
    public function set_first_name( ?string $first_name ): self {
        $this->first_name = $first_name;

        return $this;
    }

    /**
     * Get the value of form_data
     *
     * @return array
     */
    public function get_form_data(): array {
        return $this->form_data;
    }

    /**
     * Set the value of form_data
     *
     * @param array $form_data 
     * @return self
     */
    public function set_form_data( array $form_data ): self {
        $this->form_data = $form_data;

        return $this;
    }

    /**
     * Get the value of last_name
     *
     * @return ?string
     */
    public function get_last_name(): ?string {
        return $this->last_name;
    }

    /**
     * Set the value of last_name
     *
     * @param ?string $last_name 
     * @return self
     */
    public function set_last_name( ?string $last_name ): self {
        $this->last_name = $last_name;

        return $this;
    }

    /**
     * Get the value of email
     *
     * @return ?string
     */
    public function get_email(): ?string {
        return $this->email;
    }

    /**
     * Set the value of email
     *
     * @param ?string $email
     * @return self
     */
    public function set_email( ?string $email ): self {
        $this->email = $email;

        return $this;
    }

    /**
     * Get the value of mobile_number
     *
     * @return ?string
     */
    public function get_mobile_number(): ?string {
        return $this->mobile_number;
    }

    /**
     * Set the value of mobile_number
     *
     * @param ?string $mobile_number 
     * @return self
     */
    public function set_mobile_number( ?string $mobile_number ): self {
        $this->mobile_number = $mobile_number;

        return $this;
    }

    /**
     * Get the value of company
     *
     * @return ?string
     */
    public function get_company(): ?string {
        return $this->company;
    }

    /**
     * Set the value of company
     *
     * @param ?string $company 
     * @return self
     */
    public function set_company( ?string $company ): self {
        $this->company = $company;

        return $this;
    }

    /**
     * Get the value of is_lead
     *
     * @return int
     */
    public function get_is_lead(): int {
        return $this->is_lead;
    }

    /**
     * Set the value of is_lead
     *
     * @param int $is_lead 
     * @return self
     */
    public function set_is_lead( int $is_lead ): self {
        $this->is_lead = $is_lead;

        return $this;
    }
}