<?php


namespace App\ViewModels\Consulta\ConsultaUpdateViewModel;


use App\Utils\Builder;

class ConsultaUpdateViewModelBuilder implements Builder
{
    protected $id_agendamento;
    protected $titulo;
    protected $descricao;
    protected $resposta_numerica_inteira_collection;
    protected $resposta_numerica_decimal_collection;
    protected $resposta_textual_collection;
    protected $resposta_escolha_opcao_collection;
    protected $respostas;

    public function setIdAgendamento(int $id_agendamento): ConsultaUpdateViewModelBuilder
    {
        $this->id_agendamento = $id_agendamento;
        return $this;
    }

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

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

    public function setRespostas(array $respostas): ConsultaUpdateViewModelBuilder
    {
        $this->respostas = $respostas;
        return $this;
    }

    public function setRespostaNumericaInteiraCollection(RespostaFormularioUpdateCollection $resposta_numerica_inteira_collection): ConsultaUpdateViewModelBuilder
    {
        $this->resposta_numerica_inteira_collection = $resposta_numerica_inteira_collection;
        return $this;
    }

    public function setRespostaNumericaDecimalCollection(RespostaFormularioUpdateCollection $resposta_numerica_decimal_collection): ConsultaUpdateViewModelBuilder
    {
        $this->resposta_numerica_decimal_collection = $resposta_numerica_decimal_collection;
        return $this;
    }

    public function setRespostaTextualCollection(RespostaFormularioUpdateCollection $resposta_textual_collection): ConsultaUpdateViewModelBuilder
    {
        $this->resposta_textual_collection = $resposta_textual_collection;
        return $this;
    }

    public function setRespostaEscolhaOpcaoCollection(RespostaFormularioUpdateCollection $resposta_escolha_opcao_collection): ConsultaUpdateViewModelBuilder
    {
        $this->resposta_escolha_opcao_collection = $resposta_escolha_opcao_collection;
        return $this;
    }

    public function build(): ConsultaUpdateViewModel
    {
        $consulta_registration_vm = new ConsultaUpdateViewModel();
        $consulta_registration_vm->setIdAgendamento($this->id_agendamento);
        $consulta_registration_vm->setTitulo($this->titulo);
        $consulta_registration_vm->setDescricao($this->descricao);
//        $consulta_registration_vm->setRespostaNumericaInteiraCollection($this->resposta_numerica_inteira_collection);
//        $consulta_registration_vm->setRespostaNumericaDecimalCollection($this->resposta_numerica_decimal_collection);
//        $consulta_registration_vm->setRespostaTextualCollection($this->resposta_textual_collection);
//        $consulta_registration_vm->setRespostaEscolhaOpcaoCollection($this->resposta_escolha_opcao_collection);
        $consulta_registration_vm->setRespostas($this->respostas);
        return $consulta_registration_vm;
    }
}