<?php 
function resetInteressado($tipo, &$interessado, $prospecto = false){
	if($prospecto){
		$cliente = Clientes::model()->findByPk($interessado->INT_IDPROSPECTO);
		if($prospecto === true){ // deleta cliente
			$cliente->delete();
		}
		else{ // reseta cliente
			if($interessado->INT_TIPO == "A"){
				$cliente->CLI_DTRESCISAO = NULL;
				$cliente->CLI_IDRESCISAO = NULL;
				$cliente->CLI_DTCONTRATO = NULL;
				$cliente->save(false, ['CLI_DTRESCISAO', 'CLI_IDRESCISAO', 'CLI_DTCONTRATO']);
			}
			else{
				$contratos = Contratos::model()->findAll("COT_IDCLIENTE = {$cliente->CLI_IDCLIENTE} AND (COT_STATUS IN (2,19) OR COT_SITUACAO = 8)");
				foreach ($contratos as $ct) {
					$ct->delete();
				}

				$cliente->CLI_SITUACAO = $interessado->INT_TIPO;
				$cliente->save(false, ['CLI_SITUACAO']);
			}
		}
	}

	$interessado->INT_TIPO = $tipo;
	$interessado->INT_PROSPECTO_DESDE = NULL;
	$interessado->INT_IDPROSPECTO = NULL;
	$interessado->INT_SITUACAO = 1;
	$interessado->save(false, ['INT_TIPO', 'INT_PROSPECTO_DESDE', 'INT_IDPROSPECTO', 'INT_SITUACAO']);
}

function trocaTipo($I, $tipo, &$interessado){
	$I->click('Trocar tipo');
	$I->seeInCurrentUrl("?r=interessados/situacao&id={$interessado->INT_CODIGO}");

	$I->selectOption('Interessados[INT_TIPO]', $tipo);
	$I->fillField('Interessados[INT_JUSTIFICATIVA]','teste');
	$I->click("#submit_button");
	$I->seeElement('.alert-success');

	$interessado = Interessados::model()->findByPk($interessado->INT_CODIGO);
}

function vincularProspecto($I, &$interessado, $podevoltar = false, $contrato = false){
	// $contrato = 0 --> Não filtrar por contrato
	// $contrato = 1 --> Filtrar por contratos ativos
	// $contrato = 2 --> Filtrar por contratos inativos até 4 meses
	// $contrato = 3 --> Filtrar por contratos inativos há mais que 4 meses
	$I->click('Vincular Prospecto/Cliente');

	$conditions_contrato = "";
	if($contrato){
		$maxReativar = date('Y-m-d', strtotime('4 month ago'));
		if($contrato == 1){
			$conditions_contrato = "AND CLI_DTRESCISAO >= '{$maxReativar}'";
		}
		else{
			$conditions_contrato = "AND CLI_DTRESCISAO < '{$maxReativar}'";
		}
	}
	
	$cliente = Clientes::model()->find(["condition" => "CLI_SITUACAO = '{$interessado->INT_TIPO}' AND CLI_CIDADE = {$interessado->INT_CIDADE} {$conditions_contrato}", "order" => 'RAND()']);
	
	$I->fillField('Clientes[CLI_NOME]',utf8_encode($cliente->CLI_NOME));
	$I->click("#search_button");

	$I->seeElement("#clientes-grid");
	$I->click("tr:first-child > td > a[title='Vincular']");
	$I->seeElement('.alert-success');

	$interessado = Interessados::model()->findByPk($interessado->INT_CODIGO);

	if(!$podevoltar){
		$I->amOnPage("?r=interessados/view&id={$interessado->INT_CODIGO}");
	
		$I->seeElement('.alert-error');
	}
}

function transformarProspecto($I, &$interessado, $podevoltar = false){
	$I->click('Transformar em Prospecto');

	$I->selectOptionSelect2("Clientes_CLI_IDCONTADOR", "escritorio abc");

	$I->selectOption("Clientes[CLI_NIVELINTERESSE]", 4);
	
	$I->fillField("Clientes[CLI_CNPJCPF]", DocumentNumberGenerator::cnpj());
	$I->fillField("Clientes[CLI_INSCR_EST]", "4848771");
	$I->selectOption("Clientes[CLI_IDMOTIVO]", 61);
	
	$I->selectOptionSelect2("Clientes_CLI_IDFORNECEDOR", "FOCC");
	$I->selectOptionSelect2("Clientes_CLI_IDRAMO", "comercio de alum");

	$I->click("#submit_button");
	$I->seeElement('.alert-success');

	$interessado = Interessados::model()->findByPk($interessado->INT_CODIGO);

	if(!$podevoltar){
		$I->amOnPage("?r=interessados/view&id={$interessado->INT_CODIGO}");
	
		$I->seeElement('.alert-error');
	}
}