/module/Agencia/src/Agencia/Container/Container.php

https://gitlab.com/SFMSP/Hagape · PHP · 795 lines · 674 code · 80 blank · 41 comment · 0 complexity · 039432436be213e6d124c9bf21add15e MD5 · raw file

  1. <?php
  2. namespace Agencia\Container;
  3. use Zend\Session\Container as SessionContainer;
  4. use Base\Container\BaseContainer as BaseContainerInterface;
  5. /**
  6. * Classe que armazena todas as dependências para serem chamados na classe Module
  7. *
  8. * @author Praxedes
  9. */
  10. class Container implements BaseContainerInterface
  11. {
  12. /**
  13. *
  14. * Retorna as instâncias dos repositórios
  15. * @return array
  16. */
  17. public function getForms()
  18. {
  19. return array(
  20. 'Agencia\Form\Contratacao' => function ($sm) {
  21. $t = new \Agencia\Entity\Contratacao();
  22. $inputFilter = new \Agencia\InputFilter\Contratacao();
  23. $operacao = $sm->get('Agencia\Repository\TipoOperacaoRepository')->getArraySelect('Selecione', array(), true, '');
  24. $destino = $sm->get('Agencia\Repository\TipoDestinoFinalRepository')->getArraySelect('Selecione', array(), true, '');
  25. $form = new \Agencia\Form\Contratacao($inputFilter, $operacao, $destino);
  26. $form->setContratacaoRepository($sm->get('Agencia\Repository\ContratacaoRepository'));
  27. return $form;
  28. },
  29. 'Agencia\Form\Contratante' => function ($sm) {
  30. $t = new \Agencia\Entity\Contratante();
  31. $estados = $sm->get('Application\Repository\UfRepository')->getArraySelect('Selecione um Estado');
  32. $processoRepository = $sm->get('Agencia\Repository\ProcessoRepository');
  33. $contratacao = new SessionContainer('Contratacao');
  34. $arCampos = $sm->get('Agencia\Repository\ProcessoCampoRepository')->recuperaObrigatoriedadeCamposProcesso(2, $contratacao->tipoOperacao, $contratacao->tipoContratacao, $contratacao->tipoDestinoFinal);
  35. $inputFilter = new \Agencia\InputFilter\Contratante($arCampos);
  36. $form = new \Agencia\Form\Contratante($inputFilter, $contratacao, $estados, $processoRepository,$arCampos);
  37. return $form;
  38. },
  39. 'Agencia\Form\AgenciaFiltro' => function ($sm) {
  40. $agencia = $sm->get('Admin\Repository\AgenciaRepository');
  41. return new \Agencia\Form\AgenciaFiltro($agencia->getArraySelect("Agência"));
  42. },
  43. 'Agencia\Form\DadosObito' => function ($sm) {
  44. $t = new \Agencia\Entity\DadosObito();
  45. $inputFilter = new \Agencia\InputFilter\DadosObito();
  46. $estados = $sm->get('Application\Repository\UfRepository')->getArraySelect();
  47. $medicos = $sm->get('Agencia\Repository\MedicoRepository')->getArraySelect();
  48. $transporte = $sm->get('Agencia\Repository\ServicoRepository')->getArraySelect('Selecione um Transporte', [], true, 'WHERE t.categoria = 2');
  49. $carro = $sm->get('Agencia\Repository\ServicoRepository')->getArraySelect('Selecione um Transporte', [], true, 'WHERE t.categoria = 3');
  50. $processoRepository = $sm->get('Agencia\Repository\ProcessoRepository');
  51. $contratacao = new SessionContainer('Contratacao');
  52. $arCampos = $sm->get('Agencia\Repository\ProcessoCampoRepository')->recuperaObrigatoriedadeCamposProcesso(4, $contratacao->tipoOperacao, $contratacao->tipoContratacao, $contratacao->tipoDestinoFinal);
  53. // print_r($arCampos);die;
  54. $inputFilter = new \Agencia\InputFilter\DadosObito($arCampos);
  55. $form = new \Agencia\Form\DadosObito($inputFilter, $contratacao, $estados, $processoRepository, $medicos,$arCampos,$transporte,$carro);
  56. return $form;
  57. },
  58. 'Agencia\Form\Falecido' => function ($sm) {
  59. $t = new \Agencia\Entity\Falecido();
  60. $processoRepository = $sm->get('Agencia\Repository\ProcessoRepository');
  61. $estados = $sm->get('Application\Repository\UfRepository')->getArraySelect();
  62. $raca = $sm->get('Agencia\Repository\EtniaRepository')->getArraySelect('Selecione uma Etnia', [], true, '');
  63. $contratacao = new SessionContainer('Contratacao');
  64. $arCampos = $sm->get('Agencia\Repository\ProcessoCampoRepository')->recuperaObrigatoriedadeCamposProcesso(3, $contratacao->tipoOperacao, $contratacao->tipoContratacao, $contratacao->tipoDestinoFinal);
  65. $inputFilter = new \Agencia\InputFilter\Falecido($arCampos);
  66. $form = new \Agencia\Form\Falecido($inputFilter, $contratacao,$processoRepository,$arCampos,$raca,$estados);
  67. return $form;
  68. },
  69. 'Agencia\Form\Declarante' => function ($sm) {
  70. $t = new \Agencia\Entity\Declarante();
  71. $estados = $sm->get('Application\Repository\UfRepository')->getArraySelect('Selecione um Estado');
  72. $processoRepository = $sm->get('Agencia\Repository\ProcessoRepository');
  73. $contratacao = new SessionContainer('Contratacao');
  74. $arCampos = $sm->get('Agencia\Repository\ProcessoCampoRepository')->recuperaObrigatoriedadeCamposProcesso(1, $contratacao->tipoOperacao, '', '');
  75. $inputFilter = new \Agencia\InputFilter\Declarante($arCampos);
  76. $cidades = $sm->get('Application\Repository\CidadeRepository')->getArraySelect();
  77. $form = new \Agencia\Form\Declarante($inputFilter, $contratacao, $estados, $processoRepository,$arCampos,$cidades);
  78. return $form;
  79. },
  80. 'Agencia\Form\ProdutoServico' => function ($sm) {
  81. $t = new \Agencia\Entity\ProdutoVendido();
  82. $processoRepository = $sm->get('Agencia\Repository\ProcessoRepository');
  83. $contratacao = new SessionContainer('Contratacao');
  84. $arCampos = $sm->get('Agencia\Repository\ProcessoCampoRepository')->recuperaObrigatoriedadeCamposProcesso(8, $contratacao->tipoOperacao, $contratacao->tipoContratacao, $contratacao->tipoDestinoFinal);
  85. $inputFilter = new \Agencia\InputFilter\ProdutoServico($arCampos);
  86. $form = new \Agencia\Form\ProdutoServico($inputFilter, $contratacao, $processoRepository,$arCampos);
  87. return $form;
  88. },
  89. 'Agencia\Form\DadosObitoVelorio' => function ($sm) {
  90. $t = new \Agencia\Entity\DadosObitoVelorio();
  91. $inputFilter = new \Agencia\InputFilter\DadosObitoVelorio();
  92. $estados = $sm->get('Application\Repository\UfRepository')->getArraySelect();
  93. $medicos = $sm->get('Agencia\Repository\MedicoRepository')->getArraySelect();
  94. $processoRepository = $sm->get('Agencia\Repository\ProcessoRepository');
  95. $contratacao = new SessionContainer('Contratacao');
  96. $arCampos = $sm->get('Agencia\Repository\ProcessoCampoRepository')->recuperaObrigatoriedadeCamposProcesso(11, $contratacao->tipoOperacao, $contratacao->tipoContratacao, $contratacao->tipoDestinoFinal);
  97. $inputFilter = new \Agencia\InputFilter\DadosObitoVelorio($arCampos);
  98. $form = new \Agencia\Form\DadosObitoVelorio($inputFilter, $contratacao, $estados, $processoRepository, $medicos,$arCampos);
  99. return $form;
  100. },
  101. 'Agencia\Form\DadosAmputacao' => function ($sm) {
  102. $t = new \Agencia\Entity\DadosAmputacao();
  103. $inputFilter = new \Agencia\InputFilter\DadosAmputacao();
  104. $estados = $sm->get('Application\Repository\UfRepository')->getArraySelect();
  105. $medicos = $sm->get('Agencia\Repository\MedicoRepository')->getArraySelect();
  106. $processoRepository = $sm->get('Agencia\Repository\ProcessoRepository');
  107. $contratacao = new SessionContainer('Contratacao');
  108. $arCampos = $sm->get('Agencia\Repository\ProcessoCampoRepository')->recuperaObrigatoriedadeCamposProcesso(6, $contratacao->tipoOperacao, $contratacao->tipoContratacao, $contratacao->tipoDestinoFinal);
  109. $inputFilter = new \Agencia\InputFilter\DadosAmputacao($arCampos);
  110. $form = new \Agencia\Form\DadosAmputacao($inputFilter, $contratacao, $estados, $processoRepository, $medicos,$arCampos);
  111. return $form;
  112. },
  113. 'Agencia\Form\NotaContratacao' => function ($sm) {
  114. $t = new \Agencia\Entity\NotaContratacao();
  115. $estados = $sm->get('Application\Repository\UfRepository')->getArraySelect('Selecione um Estado');
  116. $processoRepository = $sm->get('Agencia\Repository\ProcessoRepository');
  117. $contratacao = new SessionContainer('Contratacao');
  118. $arCampos = $sm->get('Agencia\Repository\ProcessoCampoRepository')->recuperaObrigatoriedadeCamposProcesso(2, $contratacao->tipoOperacao, $contratacao->tipoContratacao, $contratacao->tipoDestinoFinal);
  119. $inputFilter = new \Agencia\InputFilter\NotaContratacao($arCampos);
  120. $form = new \Agencia\Form\NotaContratacao($inputFilter, $contratacao, $estados, $processoRepository,$arCampos);
  121. return $form;
  122. },
  123. 'Agencia\Form\Paciente' => function ($sm) {
  124. $t = new \Agencia\Entity\Paciente();
  125. $contratacao = new SessionContainer('Contratacao');
  126. $membro = $sm->get('Agencia\Repository\MembroRepository')->getArraySelect('Selecione um Membro');
  127. $arCampos = $sm->get('Agencia\Repository\ProcessoCampoRepository')->recuperaObrigatoriedadeCamposProcesso(5, $contratacao->tipoOperacao, $contratacao->tipoContratacao, $contratacao->tipoDestinoFinal);
  128. $inputFilter = new \Agencia\InputFilter\Paciente($arCampos);
  129. $form = new \Agencia\Form\Paciente($inputFilter, $contratacao,$arCampos,$membro);
  130. return $form;
  131. },
  132. 'Agencia\Form\TransladoCorpo' => function ($sm) {
  133. $t = new \Agencia\Entity\TransladoCorpo();
  134. $contratacao = new SessionContainer('Contratacao');
  135. $arCampos = $sm->get('Agencia\Repository\ProcessoCampoRepository')->recuperaObrigatoriedadeCamposProcesso(7, $contratacao->tipoOperacao, $contratacao->tipoContratacao, $contratacao->tipoDestinoFinal);
  136. $inputFilter = new \Agencia\InputFilter\TransladoCorpo($arCampos);
  137. $form = new \Agencia\Form\TransladoCorpo($inputFilter, $contratacao,$arCampos);
  138. return $form;
  139. },
  140. 'Agencia\Form\Emissao' => function ($sm) {
  141. // $t = new \Agencia\Entity\Emissao();
  142. // $estados = $sm->get('Application\Repository\UfRepository')->getArraySelect('Selecione um Estado');
  143. $processoRepository = $sm->get('Agencia\Repository\ProcessoRepository');
  144. // $contratacao = new SessionContainer('Contratacao');
  145. // $arCampos = $sm->get('Agencia\Repository\ProcessoCampoRepository')->recuperaObrigatoriedadeCamposProcesso(2, $contratacao->tipoOperacao, $contratacao->tipoContratacao, $contratacao->tipoDestinoFinal);
  146. // $inputFilter = new \Agencia\InputFilter\Emissao($arCampos);
  147. $form = new \Agencia\Form\Emissao($processoRepository);
  148. return $form;
  149. },
  150. 'Agencia\Form\Pagamento' => function ($sm) {
  151. $t = new \Agencia\Entity\Pagamento();
  152. $contratacao = new SessionContainer('Contratacao');
  153. $arCampos = $sm->get('Agencia\Repository\ProcessoCampoRepository')->recuperaObrigatoriedadeCamposProcesso(9, $contratacao->tipoOperacao, $contratacao->tipoContratacao, $contratacao->tipoDestinoFinal);
  154. $inputFilter = new \Agencia\InputFilter\Pagamento($arCampos);
  155. $tipoPagamento = $sm->get('Agencia\Repository\TipoPagamentoRepository')->getArraySelect('Selecione um Tipo de Pagamento');
  156. $bandeira = $sm->get('Agencia\Repository\BandeiraRepository')->getArraySelect('Selecione uma Bandeira');
  157. $emitente = $sm->get('Agencia\Repository\EmitenteRepository')->getArraySelect('Selecione um Emitente');
  158. $form = new \Agencia\Form\Pagamento($inputFilter, $contratacao,$arCampos,$tipoPagamento,$bandeira,$emitente);
  159. return $form;
  160. },
  161. );
  162. }
  163. /**
  164. *
  165. * Retorna os services com as instâncias dos repositories
  166. * @return array
  167. */
  168. public function getRepositories()
  169. {
  170. return array(
  171. 'Admin\Repository\AgenciaRepository' => function ($sm) {
  172. $repository = $sm->get('Doctrine\ORM\EntityManager')->getRepository('Admin\Entity\Agencia');
  173. $repository->setLogger($sm->get('Base\Log\Log'));
  174. return $repository;
  175. },
  176. 'Agencia\Repository\ContratacaoRepository' => function ($sm) {
  177. $repository = $sm->get('Doctrine\ORM\EntityManager')->getRepository('Agencia\Entity\Contratacao');
  178. $repository->setLogger($sm->get('Base\Log\Log'));
  179. return $repository;
  180. },
  181. 'Agencia\Repository\ServicoRepository' => function ($sm) {
  182. $repository = $sm->get('Doctrine\ORM\EntityManager')->getRepository('Agencia\Entity\Servico');
  183. $repository->setLogger($sm->get('Base\Log\Log'));
  184. return $repository;
  185. },
  186. 'Agencia\Repository\TipoOperacaoRepository' => function ($sm) {
  187. $repository = $sm->get('Doctrine\ORM\EntityManager')->getRepository('Agencia\Entity\TipoOperacao');
  188. $repository->setLogger($sm->get('Base\Log\Log'));
  189. return $repository;
  190. },
  191. 'Agencia\Repository\TipoDestinoFinalRepository' => function ($sm) {
  192. $repository = $sm->get('Doctrine\ORM\EntityManager')->getRepository('Agencia\Entity\TipoDestinoFinal');
  193. $repository->setLogger($sm->get('Base\Log\Log'));
  194. return $repository;
  195. },
  196. 'Agencia\Repository\TipoContratacaoRepository' => function ($sm) {
  197. $repository = $sm->get('Doctrine\ORM\EntityManager')->getRepository('Agencia\Entity\TipoContratacao');
  198. $repository->setLogger($sm->get('Base\Log\Log'));
  199. return $repository;
  200. },
  201. 'Agencia\Repository\ContratanteRepository' => function ($sm) {
  202. $repository = $sm->get('Doctrine\ORM\EntityManager')->getRepository('Agencia\Entity\Contratante');
  203. $repository->setLogger($sm->get('Base\Log\Log'));
  204. return $repository;
  205. },
  206. 'Agencia\Repository\ProcessoRepository' => function ($sm) {
  207. $repository = $sm->get('Doctrine\ORM\EntityManager')->getRepository('Agencia\Entity\Processo');
  208. $repository->setLogger($sm->get('Base\Log\Log'));
  209. return $repository;
  210. },
  211. 'Agencia\Repository\DadosObitoRepository' => function ($sm) {
  212. $repository = $sm->get('Doctrine\ORM\EntityManager')->getRepository('Agencia\Entity\DadosObito');
  213. $repository->setLogger($sm->get('Base\Log\Log'));
  214. return $repository;
  215. },
  216. 'Agencia\Repository\ProcessoCampoRepository' => function ($sm) {
  217. $repository = $sm->get('Doctrine\ORM\EntityManager')->getRepository('Agencia\Entity\ProcessoCampo');
  218. $repository->setLogger($sm->get('Base\Log\Log'));
  219. return $repository;
  220. },
  221. 'Agencia\Repository\MedicoRepository' => function ($sm) {
  222. $repository = $sm->get('Doctrine\ORM\EntityManager')->getRepository('Agencia\Entity\Medico');
  223. $repository->setLogger($sm->get('Base\Log\Log'));
  224. return $repository;
  225. },
  226. 'Agencia\Repository\LocalFalecimentoRepository' => function ($sm) {
  227. $repository = $sm->get('Doctrine\ORM\EntityManager')->getRepository('Agencia\Entity\LocalFalecimento');
  228. $repository->setLogger($sm->get('Base\Log\Log'));
  229. return $repository;
  230. },
  231. 'Agencia\Repository\CartorioRepository' => function ($sm) {
  232. $repository = $sm->get('Doctrine\ORM\EntityManager')->getRepository('Agencia\Entity\Cartorio');
  233. $repository->setLogger($sm->get('Base\Log\Log'));
  234. return $repository;
  235. },
  236. 'Agencia\Repository\VelorioRepository' => function ($sm) {
  237. $repository = $sm->get('Doctrine\ORM\EntityManager')->getRepository('Agencia\Entity\Velorio');
  238. $repository->setLogger($sm->get('Base\Log\Log'));
  239. return $repository;
  240. },
  241. 'Agencia\Repository\DadosEmpresaRepository' => function ($sm) {
  242. $repository = $sm->get('Doctrine\ORM\EntityManager')->getRepository('Agencia\Entity\DadosEmpresa');
  243. $repository->setLogger($sm->get('Base\Log\Log'));
  244. return $repository;
  245. },
  246. 'Agencia\Repository\LocalizacaoRepository' => function ($sm) {
  247. $repository = $sm->get('Doctrine\ORM\EntityManager')->getRepository('Agencia\Entity\Localizacao');
  248. $repository->setLogger($sm->get('Base\Log\Log'));
  249. return $repository;
  250. },
  251. 'Agencia\Repository\FalecidoRepository' => function ($sm) {
  252. $repository = $sm->get('Doctrine\ORM\EntityManager')->getRepository('Agencia\Entity\Falecido');
  253. $repository->setLogger($sm->get('Base\Log\Log'));
  254. return $repository;
  255. },
  256. 'Agencia\Repository\DeclaranteRepository' => function ($sm) {
  257. $repository = $sm->get('Doctrine\ORM\EntityManager')->getRepository('Agencia\Entity\Declarante');
  258. $repository->setLogger($sm->get('Base\Log\Log'));
  259. return $repository;
  260. },
  261. 'Agencia\Repository\TransporteRepository' => function ($sm) {
  262. $repository = $sm->get('Doctrine\ORM\EntityManager')->getRepository('Agencia\Entity\Transporte');
  263. $repository->setLogger($sm->get('Base\Log\Log'));
  264. return $repository;
  265. },
  266. 'Agencia\Repository\ProdutoVendidoRepository' => function ($sm) {
  267. $repository = $sm->get('Doctrine\ORM\EntityManager')->getRepository('Agencia\Entity\ProdutoVendido');
  268. $repository->setLogger($sm->get('Base\Log\Log'));
  269. return $repository;
  270. },
  271. 'Agencia\Repository\DadosObitoVelorioRepository' => function ($sm) {
  272. $repository = $sm->get('Doctrine\ORM\EntityManager')->getRepository('Agencia\Entity\DadosObitoVelorio');
  273. $repository->setLogger($sm->get('Base\Log\Log'));
  274. return $repository;
  275. },
  276. 'Agencia\Repository\DadosAmputacaoRepository' => function ($sm) {
  277. $repository = $sm->get('Doctrine\ORM\EntityManager')->getRepository('Agencia\Entity\DadosAmputacao');
  278. $repository->setLogger($sm->get('Base\Log\Log'));
  279. return $repository;
  280. },
  281. 'Agencia\Repository\NotaContratacaoRepository' => function ($sm) {
  282. $repository = $sm->get('Doctrine\ORM\EntityManager')->getRepository('Agencia\Entity\NotaContratacao');
  283. $repository->setLogger($sm->get('Base\Log\Log'));
  284. return $repository;
  285. },
  286. 'Agencia\Repository\PacienteRepository' => function ($sm) {
  287. $repository = $sm->get('Doctrine\ORM\EntityManager')->getRepository('Agencia\Entity\Paciente');
  288. $repository->setLogger($sm->get('Base\Log\Log'));
  289. return $repository;
  290. },
  291. 'Agencia\Repository\TransladoCorpoRepository' => function ($sm) {
  292. $repository = $sm->get('Doctrine\ORM\EntityManager')->getRepository('Agencia\Entity\TransladoCorpo');
  293. $repository->setLogger($sm->get('Base\Log\Log'));
  294. return $repository;
  295. },
  296. 'Agencia\Repository\FilhoFalecidoRepository' => function ($sm) {
  297. $repository = $sm->get('Doctrine\ORM\EntityManager')->getRepository('Agencia\Entity\FilhoFalecido');
  298. $repository->setLogger($sm->get('Base\Log\Log'));
  299. return $repository;
  300. },
  301. 'Agencia\Repository\CasamentoRepository' => function ($sm) {
  302. $repository = $sm->get('Doctrine\ORM\EntityManager')->getRepository('Agencia\Entity\Casamento');
  303. $repository->setLogger($sm->get('Base\Log\Log'));
  304. return $repository;
  305. },
  306. 'Agencia\Repository\EtniaRepository' => function ($sm) {
  307. $repository = $sm->get('Doctrine\ORM\EntityManager')->getRepository('Agencia\Entity\Etnia');
  308. $repository->setLogger($sm->get('Base\Log\Log'));
  309. return $repository;
  310. },
  311. 'Agencia\Repository\MembroRepository' => function ($sm) {
  312. $repository = $sm->get('Doctrine\ORM\EntityManager')->getRepository('Agencia\Entity\Membro');
  313. $repository->setLogger($sm->get('Base\Log\Log'));
  314. return $repository;
  315. },
  316. 'Agencia\Repository\ProcessoAbaRepository' => function ($sm) {
  317. $repository = $sm->get('Doctrine\ORM\EntityManager')->getRepository('Agencia\Entity\ProcessoAba');
  318. $repository->setLogger($sm->get('Base\Log\Log'));
  319. return $repository;
  320. },
  321. // 'Agencia\Repository\EmissaoRepository' => function ($sm) {
  322. // $repository = $sm->get('Doctrine\ORM\EntityManager')->getRepository('Agencia\Entity\Emissao');
  323. // $repository->setLogger($sm->get('Base\Log\Log'));
  324. //
  325. // return $repository;
  326. // }
  327. 'Agencia\Repository\ConvenioRepository' => function ($sm) {
  328. $repository = $sm->get('Doctrine\ORM\EntityManager')->getRepository('Agencia\Entity\Convenio');
  329. $repository->setLogger($sm->get('Base\Log\Log'));
  330. return $repository;
  331. },
  332. 'Agencia\Repository\PagamentoRepository' => function ($sm) {
  333. $repository = $sm->get('Doctrine\ORM\EntityManager')->getRepository('Agencia\Entity\Pagamento');
  334. $repository->setLogger($sm->get('Base\Log\Log'));
  335. return $repository;
  336. },
  337. 'Agencia\Repository\SepultamentoRepository' => function ($sm) {
  338. $repository = $sm->get('Doctrine\ORM\EntityManager')->getRepository('Agencia\Entity\Sepultamento');
  339. $repository->setLogger($sm->get('Base\Log\Log'));
  340. return $repository;
  341. },
  342. 'Agencia\Repository\CremacaoRepository' => function ($sm) {
  343. $repository = $sm->get('Doctrine\ORM\EntityManager')->getRepository('Agencia\Entity\Cremacao');
  344. $repository->setLogger($sm->get('Base\Log\Log'));
  345. return $repository;
  346. },
  347. 'Agencia\Repository\VendaProdutoServicoRepository' => function ($sm) {
  348. $repository = $sm->get('Doctrine\ORM\EntityManager')->getRepository('Agencia\Entity\VendaProdutoServico');
  349. $repository->setLogger($sm->get('Base\Log\Log'));
  350. return $repository;
  351. },
  352. 'Agencia\Repository\TipoPagamentoRepository' => function ($sm) {
  353. $repository = $sm->get('Doctrine\ORM\EntityManager')->getRepository('Agencia\Entity\TipoPagamento');
  354. $repository->setLogger($sm->get('Base\Log\Log'));
  355. return $repository;
  356. },
  357. 'Agencia\Repository\ServicoVendidoRepository' => function ($sm) {
  358. $repository = $sm->get('Doctrine\ORM\EntityManager')->getRepository('Agencia\Entity\ServicoVendido');
  359. $repository->setLogger($sm->get('Base\Log\Log'));
  360. return $repository;
  361. },
  362. 'Agencia\Repository\EmitenteRepository' => function ($sm) {
  363. $repository = $sm->get('Doctrine\ORM\EntityManager')->getRepository('Agencia\Entity\Emitente');
  364. $repository->setLogger($sm->get('Base\Log\Log'));
  365. return $repository;
  366. },
  367. 'Agencia\Repository\BandeiraRepository' => function ($sm) {
  368. $repository = $sm->get('Doctrine\ORM\EntityManager')->getRepository('Agencia\Entity\Bandeira');
  369. $repository->setLogger($sm->get('Base\Log\Log'));
  370. return $repository;
  371. },
  372. );
  373. }
  374. /**
  375. *
  376. * @return array
  377. */
  378. public function getFormsFilter()
  379. {
  380. return array();
  381. }
  382. /**
  383. *
  384. * Retorna as instâncias de services
  385. * @return array
  386. */
  387. public function getServices()
  388. {
  389. return array(
  390. 'Admin\Service\Agencia' => function ($sm) {
  391. $service = new \Admin\Service\Agencia($sm->get('Doctrine\ORM\EntityManager'), new \Admin\Entity\Agencia(), $sm->get('Base\Log\Log'));
  392. $service->setDadosUser($sm->get('DadosUser'))
  393. ->setLogAlteracao($sm->get('Application\Service\LogAlteracao'))
  394. ->setDateTimeFormat(new \Base\Helper\DatetimeFormat());
  395. return $service;
  396. },
  397. 'Agencia\Service\Contratacao' => function ($sm) {
  398. $service = new \Agencia\Service\Contratacao($sm->get('Doctrine\ORM\EntityManager'), new \Agencia\Entity\Contratacao(), $sm->get('Base\Log\Log'));
  399. $service->setDadosUser($sm->get('DadosUser'))
  400. ->setLogAlteracao($sm->get('Application\Service\LogAlteracao'))
  401. ->setDateTimeFormat(new \Base\Helper\DatetimeFormat())
  402. ->setLocalizacaoService($sm->get('Agencia\Service\Localizacao'))
  403. ->setDadosEmpresaService($sm->get('Agencia\Service\DadosEmpresa'))
  404. ->setContratacao(new SessionContainer('Contratacao'));
  405. return $service;
  406. },
  407. 'Agencia\Service\Servico' => function ($sm) {
  408. $service = new \Agencia\Service\Servico($sm->get('Doctrine\ORM\EntityManager'), new \Agencia\Entity\Servico(), $sm->get('Base\Log\Log'));
  409. $service->setDadosUser($sm->get('DadosUser'))
  410. ->setLogAlteracao($sm->get('Application\Service\LogAlteracao'))
  411. ->setDateTimeFormat(new \Base\Helper\DatetimeFormat());
  412. return $service;
  413. },
  414. 'Agencia\Service\Contratante' => function ($sm) {
  415. $service = new \Agencia\Service\Contratante($sm->get('Doctrine\ORM\EntityManager'), new \Agencia\Entity\Contratante(), $sm->get('Base\Log\Log'));
  416. $service->setDadosUser($sm->get('DadosUser'))
  417. ->setLogAlteracao($sm->get('Application\Service\LogAlteracao'))
  418. ->setDateTimeFormat(new \Base\Helper\DatetimeFormat())
  419. ->setLocalizacaoService($sm->get('Agencia\Service\Localizacao'))
  420. ->setDadosEmpresaService($sm->get('Agencia\Service\DadosEmpresa'));
  421. return $service;
  422. },
  423. 'Agencia\Service\Localizacao' => function ($sm) {
  424. $service = new \Agencia\Service\Localizacao($sm->get('Doctrine\ORM\EntityManager'), new \Agencia\Entity\Localizacao(), $sm->get('Base\Log\Log'));
  425. $service->setDadosUser($sm->get('DadosUser'))
  426. ->setLogAlteracao($sm->get('Application\Service\LogAlteracao'))
  427. ->setDateTimeFormat(new \Base\Helper\DatetimeFormat());
  428. return $service;
  429. },
  430. 'Agencia\Service\DadosEmpresa' => function ($sm) {
  431. $service = new \Agencia\Service\DadosEmpresa($sm->get('Doctrine\ORM\EntityManager'), new \Agencia\Entity\DadosEmpresa(), $sm->get('Base\Log\Log'));
  432. $service->setDadosUser($sm->get('DadosUser'))
  433. ->setLogAlteracao($sm->get('Application\Service\LogAlteracao'))
  434. ->setDateTimeFormat(new \Base\Helper\DatetimeFormat());
  435. return $service;
  436. },
  437. 'Agencia\Service\DadosObito' => function ($sm) {
  438. $service = new \Agencia\Service\DadosObito($sm->get('Doctrine\ORM\EntityManager'), new \Agencia\Entity\DadosObito(), $sm->get('Base\Log\Log'));
  439. $service->setDadosUser($sm->get('DadosUser'))
  440. ->setLogAlteracao($sm->get('Application\Service\LogAlteracao'))
  441. ->setDateTimeFormat(new \Base\Helper\DatetimeFormat())
  442. ->setLocalFalecimentoService($sm->get('Agencia\Service\LocalFalecimento'))
  443. ->setCartorioService($sm->get('Agencia\Service\Cartorio'))
  444. ->setTransporteService($sm->get('Agencia\Service\Transporte'))
  445. ->setTransporteRepository($sm->get('Agencia\Repository\TransporteRepository'))
  446. ->setCemiterioService($sm->get('Admin\Service\Cemiterio'))
  447. ->setMedicoService($sm->get('Agencia\Service\Medico'))
  448. ->setMedicoRepository($sm->get('Agencia\Repository\MedicoRepository'))
  449. ->setFalecidoRepository($sm->get('Agencia\Repository\FalecidoRepository'))
  450. ->setLocalFalecimentoRepository($sm->get('Agencia\Repository\LocalFalecimentoRepository'))
  451. ->setCartorioRepository($sm->get('Agencia\Repository\CartorioRepository'))
  452. ->setDadosObitoRepository($sm->get('Agencia\Repository\DadosObitoRepository'))
  453. ->setContratacaoRepository($sm->get('Agencia\Repository\ContratacaoRepository'))
  454. ->setSepultamentoService($sm->get('Agencia\Service\Sepultamento'))
  455. ->setVelorioService($sm->get('Agencia\Service\Velorio'))
  456. ->setCremacaoService($sm->get('Agencia\Service\Cremacao'))
  457. ;
  458. return $service;
  459. },
  460. 'Agencia\Service\LocalFalecimento' => function ($sm) {
  461. $service = new \Agencia\Service\LocalFalecimento($sm->get('Doctrine\ORM\EntityManager'), new \Agencia\Entity\LocalFalecimento(), $sm->get('Base\Log\Log'));
  462. $service->setDadosUser($sm->get('DadosUser'))
  463. ->setLogAlteracao($sm->get('Application\Service\LogAlteracao'))
  464. ->setDateTimeFormat(new \Base\Helper\DatetimeFormat());
  465. return $service;
  466. },
  467. 'Agencia\Service\Falecido' => function ($sm) {
  468. $service = new \Agencia\Service\Falecido($sm->get('Doctrine\ORM\EntityManager'), new \Agencia\Entity\Falecido(), $sm->get('Base\Log\Log'));
  469. $service->setDadosUser($sm->get('DadosUser'))
  470. ->setLogAlteracao($sm->get('Application\Service\LogAlteracao'))
  471. ->setDateTimeFormat(new \Base\Helper\DatetimeFormat())
  472. ->setFilhoFalecidoService($sm->get('Agencia\Service\FilhoFalecido'))
  473. ->setCertidaoNascimentoService($sm->get('Agencia\Service\CertidaoNascimento'))
  474. ->setCasamentoService($sm->get('Agencia\Service\Casamento'))
  475. ->setNascimentoObitoService($sm->get('Agencia\Service\NascimentoObito'))
  476. ->setLocalizacaoService($sm->get('Agencia\Service\Localizacao'));
  477. return $service;
  478. },
  479. 'Agencia\Service\LocalFaleciemnto' => function ($sm) {
  480. $service = new \Agencia\Service\LocalFaleciemnto($sm->get('Doctrine\ORM\EntityManager'), new \Agencia\Entity\LocalFaleciemnto(), $sm->get('Base\Log\Log'));
  481. $service->setDadosUser($sm->get('DadosUser'))
  482. ->setLogAlteracao($sm->get('Application\Service\LogAlteracao'))
  483. ->setDateTimeFormat(new \Base\Helper\DatetimeFormat());
  484. return $service;
  485. },
  486. 'Agencia\Service\Cartorio' => function ($sm) {
  487. $service = new \Agencia\Service\Cartorio($sm->get('Doctrine\ORM\EntityManager'), new \Agencia\Entity\Cartorio(), $sm->get('Base\Log\Log'));
  488. $service->setDadosUser($sm->get('DadosUser'))
  489. ->setLogAlteracao($sm->get('Application\Service\LogAlteracao'))
  490. ->setDateTimeFormat(new \Base\Helper\DatetimeFormat());
  491. return $service;
  492. },
  493. 'Agencia\Service\Transporte' => function ($sm) {
  494. $service = new \Agencia\Service\Transporte($sm->get('Doctrine\ORM\EntityManager'), new \Agencia\Entity\Transporte(), $sm->get('Base\Log\Log'));
  495. $service->setDadosUser($sm->get('DadosUser'))
  496. ->setLogAlteracao($sm->get('Application\Service\LogAlteracao'))
  497. ->setDateTimeFormat(new \Base\Helper\DatetimeFormat());
  498. return $service;
  499. },
  500. 'Admin\Service\Cemiterio' => function ($sm) {
  501. $service = new \Admin\Service\Cemiterio($sm->get('Doctrine\ORM\EntityManager'), new \Admin\Entity\Cemiterio(), $sm->get('Base\Log\Log'));
  502. $service->setDadosUser($sm->get('DadosUser'))
  503. ->setLogAlteracao($sm->get('Application\Service\LogAlteracao'))
  504. ->setDateTimeFormat(new \Base\Helper\DatetimeFormat());
  505. return $service;
  506. },
  507. 'Agencia\Service\Medico' => function ($sm) {
  508. $service = new \Agencia\Service\Medico($sm->get('Doctrine\ORM\EntityManager'), new \Agencia\Entity\Medico(), $sm->get('Base\Log\Log'));
  509. $service->setDadosUser($sm->get('DadosUser'))
  510. ->setLogAlteracao($sm->get('Application\Service\LogAlteracao'))
  511. ->setDateTimeFormat(new \Base\Helper\DatetimeFormat());
  512. return $service;
  513. },
  514. 'Agencia\Service\Declarante' => function ($sm) {
  515. $service = new \Agencia\Service\Declarante($sm->get('Doctrine\ORM\EntityManager'), new \Agencia\Entity\Declarante(), $sm->get('Base\Log\Log'));
  516. $service->setDadosUser($sm->get('DadosUser'))
  517. ->setLogAlteracao($sm->get('Application\Service\LogAlteracao'))
  518. ->setDateTimeFormat(new \Base\Helper\DatetimeFormat())
  519. ->setLocalizacaoService($sm->get('Agencia\Service\Localizacao'))
  520. ->setDadosEmpresaService($sm->get('Agencia\Service\DadosEmpresa'))
  521. //->setContratacaoRepository($sm->get('Agencia\Repository\ContratacaoRepository'))
  522. ;
  523. return $service;
  524. },
  525. 'Agencia\Service\ProdutoServico' => function ($sm) {
  526. $service = new \Agencia\Service\ProdutoServico($sm->get('Doctrine\ORM\EntityManager'), new \Agencia\Entity\VendaProdutoServico(), $sm->get('Base\Log\Log'));
  527. $service->setDadosUser($sm->get('DadosUser'))
  528. ->setLogAlteracao($sm->get('Application\Service\LogAlteracao'))
  529. ->setDateTimeFormat(new \Base\Helper\DatetimeFormat())
  530. ->setProdutoVendidoService($sm->get('Agencia\Service\ProdutoVendido'))
  531. ->setServicoVendidoService($sm->get('Agencia\Service\ServicoVendido'));
  532. return $service;
  533. },
  534. 'Agencia\Service\ProdutoVendido' => function ($sm) {
  535. $service = new \Agencia\Service\ProdutoVendido($sm->get('Doctrine\ORM\EntityManager'), new \Agencia\Entity\ProdutoVendido(), $sm->get('Base\Log\Log'));
  536. $service->setDadosUser($sm->get('DadosUser'))
  537. ->setLogAlteracao($sm->get('Application\Service\LogAlteracao'))
  538. ->setDateTimeFormat(new \Base\Helper\DatetimeFormat());
  539. return $service;
  540. },
  541. 'Agencia\Service\ServicoVendido' => function ($sm) {
  542. $service = new \Agencia\Service\ServicoVendido($sm->get('Doctrine\ORM\EntityManager'), new \Agencia\Entity\ServicoVendido(), $sm->get('Base\Log\Log'));
  543. $service->setDadosUser($sm->get('DadosUser'))
  544. ->setLogAlteracao($sm->get('Application\Service\LogAlteracao'))
  545. ->setDateTimeFormat(new \Base\Helper\DatetimeFormat());
  546. return $service;
  547. },
  548. 'Agencia\Service\DadosObitoVelorio' => function ($sm) {
  549. $service = new \Agencia\Service\DadosObitoVelorio($sm->get('Doctrine\ORM\EntityManager'), new \Agencia\Entity\DadosObitoVelorio(), $sm->get('Base\Log\Log'));
  550. $service->setDadosUser($sm->get('DadosUser'))
  551. ->setLogAlteracao($sm->get('Application\Service\LogAlteracao'))
  552. ->setDateTimeFormat(new \Base\Helper\DatetimeFormat())
  553. ->setLocalFalecimentoService($sm->get('Agencia\Service\LocalFalecimento'))
  554. ->setCemiterioService($sm->get('Admin\Service\Cemiterio'))
  555. ->setMedicoService($sm->get('Agencia\Service\Medico'))
  556. ->setMedicoRepository($sm->get('Agencia\Repository\MedicoRepository'))
  557. ->setLocalFalecimentoRepository($sm->get('Agencia\Repository\LocalFalecimentoRepository'))
  558. ->setDadosObitoVelorioRepository($sm->get('Agencia\Repository\DadosObitoVelorioRepository'))
  559. ->setContratanteRepository($sm->get('Agencia\Repository\ContratanteRepository'))
  560. ->setContratacaoRepository($sm->get('Agencia\Repository\ContratacaoRepository'))
  561. ->setSepultamentoService($sm->get('Agencia\Service\Sepultamento'))
  562. ->setVelorioService($sm->get('Agencia\Service\Velorio'))
  563. ->setCremacaoService($sm->get('Agencia\Service\Cremacao'))
  564. ;
  565. return $service;
  566. },
  567. 'Agencia\Service\DadosAmputacao' => function ($sm) {
  568. $service = new \Agencia\Service\DadosAmputacao($sm->get('Doctrine\ORM\EntityManager'), new \Agencia\Entity\DadosAmputacao(), $sm->get('Base\Log\Log'));
  569. $service->setDadosUser($sm->get('DadosUser'))
  570. ->setLogAlteracao($sm->get('Application\Service\LogAlteracao'))
  571. ->setDateTimeFormat(new \Base\Helper\DatetimeFormat())
  572. ->setMedicoRepository($sm->get('Agencia\Repository\MedicoRepository'))
  573. ->setDadosAmputacaoRepository($sm->get('Agencia\Repository\DadosAmputacaoRepository'))
  574. ->setPacienteRepository($sm->get('Agencia\Repository\PacienteRepository'))
  575. ->setCremacaoService($sm->get('Agencia\Service\Cremacao'))
  576. ->setSepultamentoService($sm->get('Agencia\Service\Sepultamento'))
  577. ->setCemiterioRepository($sm->get('Admin\Repository\CemiterioRepository'))
  578. ;
  579. return $service;
  580. },
  581. 'Agencia\Service\NotaContratacao' => function ($sm) {
  582. $service = new \Agencia\Service\Contratante($sm->get('Doctrine\ORM\EntityManager'), new \Agencia\Entity\NotaContratacao(), $sm->get('Base\Log\Log'));
  583. $service->setDadosUser($sm->get('DadosUser'))
  584. ->setLogAlteracao($sm->get('Application\Service\LogAlteracao'))
  585. ->setDateTimeFormat(new \Base\Helper\DatetimeFormat())
  586. ->setLocalizacaoService($sm->get('Agencia\Service\Localizacao'))
  587. ->setDadosEmpresaService($sm->get('Agencia\Service\DadosEmpresa'));
  588. return $service;
  589. },
  590. 'Agencia\Service\Paciente' => function ($sm) {
  591. $service = new \Agencia\Service\Paciente($sm->get('Doctrine\ORM\EntityManager'), new \Agencia\Entity\Paciente(), $sm->get('Base\Log\Log'));
  592. $service->setDadosUser($sm->get('DadosUser'))
  593. ->setLogAlteracao($sm->get('Application\Service\LogAlteracao'))
  594. ->setDateTimeFormat(new \Base\Helper\DatetimeFormat())
  595. ;
  596. return $service;
  597. },
  598. 'Agencia\Service\TransladoCorpo' => function ($sm) {
  599. $service = new \Agencia\Service\TransladoCorpo($sm->get('Doctrine\ORM\EntityManager'), new \Agencia\Entity\TransladoCorpo(), $sm->get('Base\Log\Log'));
  600. $service->setDadosUser($sm->get('DadosUser'))
  601. ->setLogAlteracao($sm->get('Application\Service\LogAlteracao'))
  602. ->setDateTimeFormat(new \Base\Helper\DatetimeFormat())
  603. ->setCemiterioService($sm->get('Admin\Service\Cemiterio'))
  604. ->setContratanteRepository($sm->get('Agencia\Repository\ContratanteRepository'))
  605. ;
  606. return $service;
  607. },
  608. 'Agencia\Service\Sepultamento' => function ($sm) {
  609. $service = new \Agencia\Service\Sepultamento($sm->get('Doctrine\ORM\EntityManager'), new \Agencia\Entity\Sepultamento(), $sm->get('Base\Log\Log'));
  610. $service->setDadosUser($sm->get('DadosUser'))
  611. ->setLogAlteracao($sm->get('Application\Service\LogAlteracao'))
  612. ->setDateTimeFormat(new \Base\Helper\DatetimeFormat())
  613. ;
  614. return $service;
  615. },
  616. 'Agencia\Service\Velorio' => function ($sm) {
  617. $service = new \Agencia\Service\Velorio($sm->get('Doctrine\ORM\EntityManager'), new \Agencia\Entity\Velorio(), $sm->get('Base\Log\Log'));
  618. $service->setDadosUser($sm->get('DadosUser'))
  619. ->setLogAlteracao($sm->get('Application\Service\LogAlteracao'))
  620. ->setDateTimeFormat(new \Base\Helper\DatetimeFormat())
  621. ;
  622. return $service;
  623. },
  624. 'Agencia\Service\Cremacao' => function ($sm) {
  625. $service = new \Agencia\Service\Cremacao($sm->get('Doctrine\ORM\EntityManager'), new \Agencia\Entity\Cremacao(), $sm->get('Base\Log\Log'));
  626. $service->setDadosUser($sm->get('DadosUser'))
  627. ->setLogAlteracao($sm->get('Application\Service\LogAlteracao'))
  628. ->setDateTimeFormat(new \Base\Helper\DatetimeFormat())
  629. ;
  630. return $service;
  631. },
  632. 'Agencia\Service\FilhoFalecido' => function ($sm) {
  633. $service = new \Agencia\Service\FilhoFalecido($sm->get('Doctrine\ORM\EntityManager'), new \Agencia\Entity\FilhoFalecido(), $sm->get('Base\Log\Log'));
  634. $service->setDadosUser($sm->get('DadosUser'))
  635. ->setLogAlteracao($sm->get('Application\Service\LogAlteracao'))
  636. ->setDateTimeFormat(new \Base\Helper\DatetimeFormat());
  637. return $service;
  638. },
  639. 'Agencia\Service\CertidaoNascimento' => function ($sm) {
  640. $service = new \Agencia\Service\CertidaoNascimento($sm->get('Doctrine\ORM\EntityManager'), new \Agencia\Entity\CertidaoNascimento(), $sm->get('Base\Log\Log'));
  641. $service->setDadosUser($sm->get('DadosUser'))
  642. ->setLogAlteracao($sm->get('Application\Service\LogAlteracao'))
  643. ->setDateTimeFormat(new \Base\Helper\DatetimeFormat());
  644. return $service;
  645. },
  646. 'Agencia\Service\Casamento' => function ($sm) {
  647. $service = new \Agencia\Service\Casamento($sm->get('Doctrine\ORM\EntityManager'), new \Agencia\Entity\Casamento(), $sm->get('Base\Log\Log'));
  648. $service->setDadosUser($sm->get('DadosUser'))
  649. ->setLogAlteracao($sm->get('Application\Service\LogAlteracao'))
  650. ->setDateTimeFormat(new \Base\Helper\DatetimeFormat());
  651. return $service;
  652. },
  653. 'Agencia\Service\NascimentoObito' => function ($sm) {
  654. $service = new \Agencia\Service\NascimentoObito($sm->get('Doctrine\ORM\EntityManager'), new \Agencia\Entity\NascimentoObito(), $sm->get('Base\Log\Log'));
  655. $service->setDadosUser($sm->get('DadosUser'))
  656. ->setLogAlteracao($sm->get('Application\Service\LogAlteracao'))
  657. ->setDateTimeFormat(new \Base\Helper\DatetimeFormat());
  658. return $service;
  659. },
  660. 'Agencia\Service\Emissao' => function ($sm) {
  661. $service = new \Agencia\Service\Emissao($sm->get('Doctrine\ORM\EntityManager'), new \Agencia\Entity\Emissao(), $sm->get('Base\Log\Log'));
  662. $service->setDadosUser($sm->get('DadosUser'))
  663. ->setLogAlteracao($sm->get('Application\Service\LogAlteracao'))
  664. ->setDateTimeFormat(new \Base\Helper\DatetimeFormat())
  665. ->setLocalizacaoService($sm->get('Agencia\Service\Localizacao'))
  666. ->setDadosEmpresaService($sm->get('Agencia\Service\DadosEmpresa'));
  667. return $service;
  668. },
  669. 'Agencia\Service\Pagamento' => function ($sm) {
  670. $service = new \Agencia\Service\Pagamento($sm->get('Doctrine\ORM\EntityManager'), new \Agencia\Entity\Pagamento(), $sm->get('Base\Log\Log'));
  671. $service->setDadosUser($sm->get('DadosUser'))
  672. ->setLogAlteracao($sm->get('Application\Service\LogAlteracao'))
  673. ->setDateTimeFormat(new \Base\Helper\DatetimeFormat())
  674. ->setBandeiraRepository($sm->get('Agencia\Repository\BandeiraRepository'))
  675. ->setPagamentoRepository($sm->get('Agencia\Repository\PagamentoRepository'))
  676. ->setContratacaoService($sm->get('Agencia\Service\Contratacao'))
  677. ;
  678. return $service;
  679. },
  680. 'Agencia\Service\Bandeira' => function ($sm) {
  681. $service = new \Agencia\Service\Bandeira($sm->get('Doctrine\ORM\EntityManager'), new \Agencia\Entity\Bandeira(), $sm->get('Base\Log\Log'));
  682. $service->setDadosUser($sm->get('DadosUser'))
  683. ->setLogAlteracao($sm->get('Application\Service\LogAlteracao'))
  684. ->setDateTimeFormat(new \Base\Helper\DatetimeFormat())
  685. ;
  686. return $service;
  687. },
  688. );
  689. }
  690. /**
  691. * Retorna os serviços do PHPOffice
  692. * @return array
  693. */
  694. public function getOfficeServices()
  695. {
  696. return array(
  697. 'Agencia\WordService\Notas' => function($sm) {
  698. $config = $sm->get('BaseConfig');
  699. return new \Agencia\WordService\Notas(new \PhpOffice\PhpWord\PhpWord(), $config['tmp'], $config['uploads'], $config['templates']);
  700. },
  701. );
  702. }
  703. public function getMailConfig()
  704. {
  705. return array();
  706. }
  707. public function getAuthServices()
  708. {
  709. return array();
  710. }
  711. public function getBaseServices()
  712. {
  713. return array();
  714. }
  715. }