<?php


namespace App\ViewModels\Formulario\FormularioRegistrationViewModel;


use App\Utils\Builder;

class FormularioRegistrationViewModelBuilder implements Builder
{
    protected $titulo;
    protected $descricao;
    protected $id_medico;
    protected $perguntas;
    protected $procedimentos;
    protected $ativo;
    protected $atendimento;


    public function setTitulo(string $titulo): FormularioRegistrationViewModelBuilder
    {
        $this->titulo = $titulo;
        return $this;
    }

    public function setDescricao(string $descricao): FormularioRegistrationViewModelBuilder
    {
        $this->descricao = $descricao;
        return $this;
    }

    public function setIdMedico($id_medico): FormularioRegistrationViewModelBuilder
    {
        $this->id_medico = $id_medico;
        return $this;
    }

    public function setPerguntas(PerguntaRegistrationCollection $perguntas): FormularioRegistrationViewModelBuilder
    {
        $this->perguntas = $perguntas;
        return $this;
    }

    public function setProcedimentos($procedimentos)
    {
        $this->procedimentos = $procedimentos;
        return $this;
    }

    public function setAtivo(int $ativo): FormularioRegistrationViewModelBuilder
    {
        $this->ativo = $ativo;
        return $this;
    }

    /**
     * @param mixed $atendimento
     * @return FormularioRegistrationViewModelBuilder
     */
    public function setAtendimento($atendimento)
    {
        $this->atendimento = $atendimento;
        return $this;
    }




    public function build(): FormularioRegistrationViewModel
    {
        $formulario_registration_vm = new FormularioRegistrationViewModel();
        $formulario_registration_vm->settitulo($this->titulo);
        $formulario_registration_vm->setdescricao($this->descricao);
        $formulario_registration_vm->setidmedico($this->id_medico);
        $formulario_registration_vm->setperguntas($this->perguntas);
        $formulario_registration_vm->setProcedimentos($this->procedimentos);
        $formulario_registration_vm->setAtivo($this->ativo);
        $formulario_registration_vm->setAtendimento($this->atendimento);
        return $formulario_registration_vm;
    }


}