<?php

namespace App\ViewModels\Recepcao\RecepcaoDetailsViewModel;

use App\Utils\Builder;

class RecepcaoDetailsViewModelBuilder implements Builder {
	protected $id;
	protected $cpf;
	protected $rg;
	protected $nome;
	protected $genero;
	protected $data_nascimento;
	protected $telefone_1;
	protected $telefone_2;
	protected $telefone_3;
	protected $cep;
	protected $numero;
	protected $complemento;
	protected $referencias;
	protected $estado;
	protected $cidade;
	protected $bairro;
	protected $logradouro;
	protected $email;
	protected $foto;
	protected $profissao;
	protected $estado_civil;
	protected $ativo;
	protected $tipo;

	public function setId(int $id): RecepcaoDetailsViewModelBuilder {

		$this->id = $id;
		return $this;

	}

	public function setCpf(string $cpf): RecepcaoDetailsViewModelBuilder {

		$this->cpf = $cpf;
		return $this;

	}

	public function setRg(string $rg): RecepcaoDetailsViewModelBuilder {

		$this->rg = $rg;
		return $this;

	}

	public function setNome(string $nome): RecepcaoDetailsViewModelBuilder {

		$this->nome = $nome;
		return $this;

	}

	public function setGenero(string $genero): RecepcaoDetailsViewModelBuilder {

		$this->genero = $genero;
		return $this;

	}

	public function setDataNascimento(string $data_nascimento): RecepcaoDetailsViewModelBuilder {

		$this->data_nascimento = $data_nascimento;
		return $this;

	}

	public function setTelefone1(string $telefone_1): RecepcaoDetailsViewModelBuilder {

		$this->telefone_1 = $telefone_1;
		return $this;

	}

	public function setTelefone2(string $telefone_2): RecepcaoDetailsViewModelBuilder {

		$this->telefone_2 = $telefone_2;
		return $this;

	}

	public function setTelefone3(string $telefone_3): RecepcaoDetailsViewModelBuilder {

		$this->telefone_3 = $telefone_3;
		return $this;

	}

	public function setCep(string $cep): RecepcaoDetailsViewModelBuilder {

		$this->cep = $cep;
		return $this;

	}

	public function setNumero(string $numero): RecepcaoDetailsViewModelBuilder {

		$this->numero = $numero;
		return $this;

	}

	public function setComplemento(string $complemento): RecepcaoDetailsViewModelBuilder {

		$this->complemento = $complemento;
		return $this;

	}

	public function setReferencias(string $referencias): RecepcaoDetailsViewModelBuilder {

		$this->referencias = $referencias;
		return $this;

	}

	public function setEstado(string $estado): RecepcaoDetailsViewModelBuilder {

		$this->estado = $estado;
		return $this;

	}

	public function setCidade(string $cidade): RecepcaoDetailsViewModelBuilder {

		$this->cidade = $cidade;
		return $this;

	}

	public function setBairro(string $bairro): RecepcaoDetailsViewModelBuilder {

		$this->bairro = $bairro;
		return $this;

	}

	public function setLogradouro(string $logradouro): RecepcaoDetailsViewModelBuilder {

		$this->logradouro = $logradouro;
		return $this;

	}

	public function setEmail($email): RecepcaoDetailsViewModelBuilder {

		$this->email = $email;
		return $this;

	}

	public function setFoto($foto): RecepcaoDetailsViewModelBuilder {

		$this->foto = $foto;
		return $this;

	}

	public function setProfissao(string $profissao): RecepcaoDetailsViewModelBuilder {

		$this->profissao = $profissao;
		return $this;

	}

	public function setEstadoCivil(string $estado_civil): RecepcaoDetailsViewModelBuilder {

		$this->estado_civil = $estado_civil;
		return $this;

	}

	public function setAtivo($ativo): RecepcaoDetailsViewModelBuilder {

		$this->ativo = $ativo;
		return $this;

	}

	public function setTipo($tipo) {

		$this->tipo = $tipo;
		return $this;

	}

	public function build(): RecepcaoDetailsViewModel {

		$recepcao_details_vm = new RecepcaoDetailsViewModel();
		$recepcao_details_vm->setid( $this->id );
		$recepcao_details_vm->setcpf( $this->cpf );
		$recepcao_details_vm->setrg( $this->rg );
		$recepcao_details_vm->setnome( $this->nome );
		$recepcao_details_vm->setgenero( $this->genero );
		$recepcao_details_vm->setdatanascimento( $this->data_nascimento );
		$recepcao_details_vm->settelefone1( $this->telefone_1 );
		$recepcao_details_vm->settelefone2( $this->telefone_2 );
		$recepcao_details_vm->setcep( $this->cep );
		$recepcao_details_vm->setnumero( $this->numero );
		$recepcao_details_vm->setcomplemento( $this->complemento );
		$recepcao_details_vm->setreferencias( $this->referencias );
		$recepcao_details_vm->setestado( $this->estado );
		$recepcao_details_vm->setcidade( $this->cidade );
		$recepcao_details_vm->setbairro( $this->bairro );
		$recepcao_details_vm->setlogradouro( $this->logradouro );
		$recepcao_details_vm->setemail( $this->email );
		$recepcao_details_vm->setfoto( $this->foto );
		$recepcao_details_vm->setprofissao( $this->profissao );
		$recepcao_details_vm->setestadocivil( $this->estado_civil );
		$recepcao_details_vm->setTipo( $this->tipo );
		return $recepcao_details_vm;

	}

}