<?php


namespace App\ViewModels\CentroCusto\CentroCustoUpdateViewModel;


use App\Utils\Builder;
use App\ViewModels\CentroCusto\CentroCustoRegistrationViewModel\CentroCustoRegistrationViewModel;

class CentroCustoUpdateViewModelBuilder implements Builder
{
    private $descricao;
    private $atualizado_em;
    private $alterado_por;

    /**
     * @param mixed $descricao
     * @return CentroCustoUpdateViewModelBuilder
     */
    public function setDescricao($descricao)
    {
        $this->descricao = $descricao;
        return $this;
    }

    /**
     * @param mixed $atualizado_em
     * @return CentroCustoUpdateViewModelBuilder
     */
    public function setAtualizadoEm($atualizado_em)
    {
        $this->atualizado_em = $atualizado_em;
        return $this;
    }

    /**
     * @param mixed $alterado_por
     * @return CentroCustoUpdateViewModelBuilder
     */
    public function setAlteradoPor($alterado_por)
    {
        $this->alterado_por = $alterado_por;
        return $this;
    }


    public function build() : CentroCustoUpdateViewModel
    {
        $paciente_update_vm = new CentroCustoUpdateViewModel();
        if (isset($this->descricao)) {
            $paciente_update_vm->setDescricao($this->descricao);
        }
        if (isset($this->atualizado_em)) {
            $paciente_update_vm->setAtualizadoEm($this->atualizado_em);
        }
        if (isset($this->alterado_por)) {
            $paciente_update_vm->setAlteradoPor($this->alterado_por);
        }
        return $paciente_update_vm;
    }


}