<?php

namespace App\Validations;

class OrcamentoClienteValidation {

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

		$resp = array ();

		if (!intval( $request ['id_unidade'] )) {
			$resp = [ 
				'unidade' => 'O campo unidade é obrigatório'
			];
		}
		if (!intval( $request ['validade'] )) {
			$resp = [
					'validade' => 'O campo validade, em dias, é obrigatório'
			];
		}
		if (!intval( $request ['id_cliente'] )) {
			$resp = [ 
				'tutor' => 'O campo tutor é obrigatório'
			];
		}
		if (!intval( $request ['id_pet'] )) {
			$resp = [ 
				'pet' => 'O campo pet é obrigatório'
			];
		}
		if (!isset( $request ['itens'] )) {
			$resp = [ 
				'itens' => 'não há itens na lista'
			];
		} else {
			if (count( $request ['itens'] ) == 0) {
				$resp = [ 
					'itens' => 'não há itens na lista'
				];
			} else {
				for($i = 0; $i < count( $request ['itens'] ); $i++) {
					$item = $request ['itens'] [$i];
					if (!intval( $item ['id_procedimento_valor'] )) {
						$resp = [ 
							'id_procedimento_valor' => 'O campo id_procedimento_valor está com valor inválido'
						];
						break;
					}
					if (!intval( $item ['quantidade'] )) {
						$resp = [ 
							'quantidade' => 'O campo quantidade está com valor inválido'
						];
						break;
					}
                    if($item['valor'] != "0.00"){
                        if (!floatval( $item ['valor'] )) {
                            $resp = [
                                'valor' => 'O campo valor do procedimento está com valor inválido'
                            ];
                            break;
                        }
                    }

				}
			}
		}

		return $resp;

	}
	
	public static function update(array $request): array {
		
		$resp = array ();
		
		if (!intval( $request ['id_orcamento'] )) {
			$resp = [
					'orcamento' => 'O campo orcamento é obrigatório'
			];
		}
		if (!intval( $request ['id_unidade'] )) {
			$resp = [
					'unidade' => 'O campo unidade é obrigatório'
			];
		}
		if (!intval( $request ['validade'] )) {
			$resp = [
					'validade' => 'O campo validade, em dias, é obrigatório'
			];
		}
		if (!intval( $request ['id_cliente'] )) {
			$resp = [
					'tutor' => 'O campo tutor é obrigatório'
			];
		}
		if (!intval( $request ['id_pet'] )) {
			$resp = [
					'pet' => 'O campo pet é obrigatório'
			];
		}
		if (!isset( $request ['itens'] )) {
			$resp = [
					'itens' => 'não há itens na lista'
			];
		} else {
			if (count( $request ['itens'] ) == 0) {
				$resp = [
						'itens' => 'não há itens na lista'
				];
			} else {
				for($i = 0; $i < count( $request ['itens'] ); $i++) {
					$item = $request ['itens'] [$i];
					if (!intval( $item ['id_procedimento_valor'] )) {
						$resp = [
								'id_procedimento_valor' => 'O campo id_procedimento_valor está com valor inválido'
						];
						break;
					}
					if (!intval( $item ['quantidade'] )) {
						$resp = [
								'quantidade' => 'O campo quantidade está com valor inválido'
						];
						break;
					}
                    if($item['valor'] != "0.00") {
                        if (!floatval($item ['valor'])) {
                            $resp = [
                                'valor' => 'O campo valor do procedimento está com valor inválido'
                            ];
                            break;
                        }
                    }
				}
			}
		}
		
		return $resp;
		
	}
	
	public static function makerequisicao(array $request): array {
		
		$resp = array ();
		
		if (!intval( $request ['id_orcamento'] )) {
			$resp = [
					'orcamento' => 'O campo orcamento é obrigatório'
			];
		}
		if (!intval( $request ['id_unidade'] )) {
			$resp = [
					'unidade' => 'O campo unidade é obrigatório'
			];
		}
		if (!intval( $request ['id_cliente'] )) {
			$resp = [
					'tutor' => 'O campo tutor é obrigatório'
			];
		}
		if (!intval( $request ['id_pet'] )) {
			$resp = [
					'pet' => 'O campo pet é obrigatório'
			];
		}
		if (!isset( $request ['itens'] )) {
			$resp = [
					'itens' => 'não há itens na lista'
			];
		} else {
			if (count( $request ['itens'] ) == 0) {
				$resp = [
						'itens' => 'não há itens na lista'
				];
			} else {
				for($i = 0; $i < count( $request ['itens'] ); $i++) {
					$item = $request ['itens'] [$i];
					if (!intval( $item ['id'] )) {
						$resp = [
								'id' => 'O campo id do item está com valor inválido'
						];
						break;
					}					
				}
			}
		}
		
		return $resp;
		
	}

}

