<?php

namespace App\ViewModels\Recepcao\RecepcionistaDetailsViewModel;

use App\Utils\Builder;

class RecepcionistaDetailsViewModelBuilder 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 $ativo_descricao;
	protected $tipo;
	protected $id_perfil;
	protected $id_usuario;
	protected $perfil_descricao;

	public function build(): RecepcionistaDetailsViewModel {

		$recepcao_details_vm = new RecepcionistaDetailsViewModel();
		$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->setAtivo( $this->ativo );
		$recepcao_details_vm->setAtivoDescricao( $this->ativo_descricao );
		$recepcao_details_vm->setTipo( $this->tipo );
		$recepcao_details_vm->setPerfilId( $this->id_perfil );
		$recepcao_details_vm->setIdUsuario( $this->id_usuario );
		$recepcao_details_vm->setPerfilDescricao( $this->perfil_descricao );
		return $recepcao_details_vm;

	}

	public function setId(int $id): RecepcionistaDetailsViewModelBuilder {

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

	}

	public function setCpf(string $cpf): RecepcionistaDetailsViewModelBuilder {

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

	}

	public function setRg(string $rg): RecepcionistaDetailsViewModelBuilder {

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

	}

	public function setNome(string $nome): RecepcionistaDetailsViewModelBuilder {

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

	}

	public function setGenero(string $genero): RecepcionistaDetailsViewModelBuilder {

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

	}

	public function setDataNascimento(string $data_nascimento): RecepcionistaDetailsViewModelBuilder {

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

	}

	public function setTelefone1(string $telefone_1): RecepcionistaDetailsViewModelBuilder {

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

	}

	public function setTelefone2(string $telefone_2): RecepcionistaDetailsViewModelBuilder {

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

	}

	public function setTelefone3(string $telefone_3): RecepcionistaDetailsViewModelBuilder {

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

	}

	public function setCep(string $cep): RecepcionistaDetailsViewModelBuilder {

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

	}

	public function setNumero(string $numero): RecepcionistaDetailsViewModelBuilder {

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

	}

	public function setComplemento(string $complemento): RecepcionistaDetailsViewModelBuilder {

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

	}

	public function setReferencias(string $referencias): RecepcionistaDetailsViewModelBuilder {

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

	}

	public function setEstado(string $estado): RecepcionistaDetailsViewModelBuilder {

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

	}

	public function setCidade(string $cidade): RecepcionistaDetailsViewModelBuilder {

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

	}

	public function setBairro(string $bairro): RecepcionistaDetailsViewModelBuilder {

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

	}

	public function setLogradouro(string $logradouro): RecepcionistaDetailsViewModelBuilder {

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

	}

	public function setEmail($email): RecepcionistaDetailsViewModelBuilder {

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

	}

	public function setFoto($foto): RecepcionistaDetailsViewModelBuilder {

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

	}

	public function setProfissao(string $profissao): RecepcionistaDetailsViewModelBuilder {

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

	}

	public function setEstadoCivil(string $estado_civil): RecepcionistaDetailsViewModelBuilder {

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

	}

	public function setAtivo($ativo): RecepcionistaDetailsViewModelBuilder {

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

	}

	public function setAtivoDescricao($ativoDescricao): RecepcionistaDetailsViewModelBuilder {

		$this->ativo_descricao = $ativoDescricao;
		return $this;

	}

	public function setTipo($tipo): RecepcionistaDetailsViewModelBuilder {

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

	}

	public function setPerfilId($id_perfil): RecepcionistaDetailsViewModelBuilder {

		$this->id_perfil = $id_perfil;
		return $this;

	}

	public function setPerfilDescricao($perfil_descricao): RecepcionistaDetailsViewModelBuilder {

		$this->perfil_descricao = $perfil_descricao;
		return $this;

	}

	public function setIdUsuario($id_usuario): RecepcionistaDetailsViewModelBuilder {

		$this->id_usuario = $id_usuario;
		return $this;

	}

}