<?php

namespace App\Mappers;

use App\ViewModels\Anamnese\AnamneseAdcionalUpdateViewModel\AnamneseAdicionalUpdateViewModel;
use App\ViewModels\Anamnese\AnamneseAdicionalRegistrationViewModel\AnamneseAdicionalRegistrationViewModel;
use App\Services\JWT\UsuarioLogado;
use App\Utils\DateUtils;

class AnamneseAdicionalMapper {

	public static function getAnamneseAdicionalRegistrationFromArrayPost(array $post): AnamneseAdicionalRegistrationViewModel {

		$usr = UsuarioLogado::getUsuarioId();
		$dt_cr = DateUtils::today();
		$hr_cr = DateUtils::now_time();
		$obj = AnamneseAdicionalRegistrationViewModel::builder()->setIdPet( $post ['idPet'] )
			->setIdTutor( $post ['idTutor'] )
			->setIdUnidade( $post ['idUnidade'] )
			->setIdUsuario( $usr )
			->setIdMedico( $post ['idMedico'] )
			->setIdAssistente($post ['idAssistente'])
			->setIdRequisicao( $post ['idRequisicao'] ?? 0)
			->setIdProcedimento( $post ['idProcedimento'] )
			->setIdConvenioProcedimento( $post ['idConvenioProcedimento'] )
			->setIdFormulario( $post ['idFormulario'] )
			->setDataCriacao( $dt_cr )
			->setHoraCriacao( $hr_cr )
			->build();

		return $obj;

	}

	public static function getAnamneseAdicionalUpdateFromArrayPost(array $post): AnamneseAdicionalUpdateViewModel {

		$obj = AnamneseAdicionalUpdateViewModel::builder()->setIdPet( $post ['idPet'] )
			->setIdTutor( $post ['idTutor'] )
			->setIdUnidade( $post ['idUnidade'] )
			->setIdUsuario( $post ['idUsuario'] )
			->setIdMedico( $post ['idMedico'] )
			->setIdRquisicao( $post ['idRequisicao'] ?? 0)
			->setIdProcedimento( $post ['idProcedimento'] )
			->setIdConvenioProcedimento( $post ['idConvenioProcedimento'] ?? 0)
			->setIdFormulario( $post ['idFormulario'] )
			->setDataCriacao( $post ['dataCriacao'] )
			->setHoraCriacao( $post ['horaCriacao'] )
			->build();

		return $obj;

	}

}

