<?php

namespace App\ViewModels\ProcedimentoValor\ProcedimentoValorRegistrationViewModel;

use App\Utils\Builder;

class ProcedimentoValorRegistrationViewModelBuilder implements Builder {
	protected $id_convenio_procedimento;
	protected $id_convenio;
	protected $id_procedimento;
	protected $id_unidade;
	protected $valor;
	protected $valor_interno;
	protected $valor_repasse_medico;
	protected $data_inicio;
	protected $data_fim;
	protected $status;

	public function build(): ProcedimentoValorRegistrationViewModel {

		$procedimento_registration_vm = new ProcedimentoValorRegistrationViewModel();

		$procedimento_registration_vm->setIdConvenioProcedimento( $this->id_convenio_procedimento );
		$procedimento_registration_vm->setIdConvenio( $this->id_convenio );
		$procedimento_registration_vm->setIdProcedimento( $this->id_procedimento );
		$procedimento_registration_vm->setIdUnidade( $this->id_unidade );
		$procedimento_registration_vm->setValor( $this->valor );
		$procedimento_registration_vm->setValorInterno( $this->valor_interno );
		$procedimento_registration_vm->setValorRepasseMedico( $this->valor_repasse_medico );
		$procedimento_registration_vm->setDataInicio( $this->data_inicio );
		$procedimento_registration_vm->setDataFim( $this->data_fim );
		$procedimento_registration_vm->setStatus( $this->status );

		return $procedimento_registration_vm;

	}

    /**
     * @param mixed $valor_repasse_medico
     * @return ProcedimentoValorRegistrationViewModelBuilder
     */
    public function setValorRepasseMedico($valor_repasse_medico)
    {
        $this->valor_repasse_medico = $valor_repasse_medico;
        return $this;
    }

	/**
	 *
	 * @param mixed $id_convenio_procedimento
	 * @return ProcedimentoValorRegistrationViewModelBuilder
	 */
	public function setIdConvenioProcedimento($id_convenio_procedimento): ProcedimentoValorRegistrationViewModelBuilder {

		$this->id_convenio_procedimento = $id_convenio_procedimento;
		return $this;

	}

	/**
	 *
	 * @param mixed $id_procedimento
	 * @return ProcedimentoValorRegistrationViewModelBuilder
	 */
	public function setIdProcedimento($id_procedimento): ProcedimentoValorRegistrationViewModelBuilder {

		$this->id_procedimento = $id_procedimento;
		return $this;

	}

	/**
	 *
	 * @param mixed $id_convenio
	 * @return ProcedimentoValorRegistrationViewModelBuilder
	 */
	public function setIdConvenio($id_convenio): ProcedimentoValorRegistrationViewModelBuilder {

		$this->id_convenio = $id_convenio;
		return $this;

	}

	/**
	 *
	 * @param mixed $id_unidade
	 * @return ProcedimentoValorRegistrationViewModelBuilder
	 */
	public function setIdUnidade($id_unidade): ProcedimentoValorRegistrationViewModelBuilder {

		$this->id_unidade = $id_unidade;
		return $this;

	}

	/**
	 *
	 * @param mixed $valor
	 * @return ProcedimentoValorRegistrationViewModelBuilder
	 */
	public function setValor($valor): ProcedimentoValorRegistrationViewModelBuilder {

		$this->valor = $valor;
		return $this;

	}

	/**
	 *
	 * @param mixed $valor
	 */
	public function setValorInterno($valorInterno): ProcedimentoValorRegistrationViewModelBuilder {

		$this->valor_interno = $valorInterno;
		return $this;

	}

	/**
	 *
	 * @param mixed $data_inicio
	 * @return ProcedimentoValorRegistrationViewModelBuilder
	 */
	public function setDataInicio($data_inicio): ProcedimentoValorRegistrationViewModelBuilder {

		$this->data_inicio = $data_inicio;
		return $this;

	}

	/**
	 *
	 * @param mixed $data_fim
	 * @return ProcedimentoValorRegistrationViewModelBuilder
	 */
	public function setDataFim($data_fim): ProcedimentoValorRegistrationViewModelBuilder {

		$this->data_fim = $data_fim;
		return $this;

	}
	/**
	 * @param mixed $status
	 */
	public function setStatus($status): ProcedimentoValorRegistrationViewModelBuilder {

		$this->status = $status;
		return $this;
	}



}