<?php


namespace App\ViewModels\Formulario\FormularioDetailsViewModel;

use App\Utils\Builder;

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

    public function setAtendimento($atendimento)
    {
        $this->atendimento = $atendimento;
        return $this;
    }

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

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

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

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

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

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



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