<?php

namespace app\Validations;

use App\Utils\DateUtils;

class VoucherValidation {

	public static function register(array $dados): array {

		$result = [ ];

		if (count( $dados ) != 2) {
			$result ['campos'] = "Quantidade de campos incompatível";
		}

		if (!isset( $dados ['id_tipo'] )) {
			$result ['id_tipo'] = "Campo obrigatório";
		} else {
			if (!intval( $dados ['id_tipo'] )) {
				$result ['id_tipo'] = "Valor deve ser inteiro";
			}
		}
		if (!isset( $dados ['id_compra'] )) {
			$result ['id_compra'] = "Campo obrigatório";
		} else {
			if (!intval( $dados ['id_compra'] )) {
				$result ['id_compra'] = "Valor deve ser inteiro";
			}
		}
		if (!isset( $dados ['id_usuario'] )) {
			$result ['id_usuario'] = "Campo obrigatório";
		} else {
			if (!intval( $dados ['id_usuario'] )) {
				$result ['id_usuario'] = "Valor deve ser inteiro";
			}
		}
		if (!isset( $dados ['id_status'] )) {
			$result ['id_status'] = "Campo obrigatório";
		} else {
			if (!intval( $dados ['id_status'] )) {
				$result ['id_status'] = "Valor deve ser inteiro";
			}
		}

		if (!isset( $dados ['id_pet'] )) {
			$result ['id_pet'] = "Campo obrigatório";
		} else {
			if (!intval( $dados ['id_pet'] )) {
				$result ['id_pet'] = "Valor deve ser inteiro";
			}
		}

		if (!isset( $dados ['data_vencimento'] )) {
			$result ['data_vencimento'] = "Campo obrigatório";
		} else {
			if ($dados ['data_vencimento'] != '1900-01-01') {
				if (!DateUtils::isDateValid( $dados ['data_vencimento'] )) {
					$result ['data_vencimento'] = "Valor deve ser uma data válida";
				}
			}
		}

		return $result;

	}

	public static function changestatus(array $dados): array {

		$result = [ ];

		if (count( $dados ) != 3) {
			$result ['campos'] = "Quantidade de campos incompatível";
		}

		if (!isset( $dados ['id'] )) {
			$result ['id'] = "Campo obrigatório";
		} else {
			if (!intval( $dados ['id'] )) {
				$result ['id'] = "Valor deve ser inteiro";
			}
		}

		if (!isset( $dados ['id_compra'] )) {
			$result ['id_compra'] = "Campo obrigatório";
		} else {
			if (!intval( $dados ['id_compra'] )) {
				$result ['id_compra'] = "Valor deve ser inteiro";
			}
		}

		if (!isset( $dados ['id_status'] )) {
			$result ['id_status'] = "Campo obrigatório";
		} else {
			if (!intval( $dados ['id_status_loja'] )) {
				$result ['id_status'] = "Valor deve ser inteiro";
			}
		}

		return $result;

	}

}

