function desfazerPassos(Documento $doc, $passo) { $out1 = array(); switch ((int) $passo) { case 3: // Deu erro no trâmite ou em outra etapa // desfazer tudo $tram = new Tramite(); $out1 = $tram->removerTramite($doc->digital)->toArray(); case 2: // Deu erro na criação do prazo // apagar qualquer prazo que tenha sido cadastrado // e o historico do prazo $out1 = DaoPrazo::removerPrazo($doc->digital)->toArray(); // e fazer todo o resto // e fazer todo o resto case 1: // Deu erro na persistência das imagens // desfazer aqui cadastro do documento e anexação de imagens $out1 = DaoDocumento::removerImagensDocumento($doc)->toArray(); if ($out1['success'] == 'true') { // e deletar pastas e arquivos das imagens $out1 = DaoDocumento::removerDocumento($doc)->toArray(); } } return $out1; }