protected function getPersistence() { // Inicialização $persistence = new Balance(); // Localizador de Serviço $serviceLocator = new ServiceManager(); // Configurações $persistence->setServiceLocator($serviceLocator); // Banco de Dados $db = Application::getApplication()->getServiceManager()->get('db'); // Configurações $serviceLocator->setService('db', $db); // Limpeza de Lançamentos $delete = (new Sql($db))->delete()->from('postings'); // Execução $db->query($delete->getSqlString($db->getPlatform()))->execute(); // Limpeza de Contas $delete = (new Sql($db))->delete()->from('accounts'); // Execução $db->query($delete->getSqlString($db->getPlatform()))->execute(); // Inicializar Banco de Dados $this->initDatabase(); // Apresentação return $persistence; }
public function getPersistence() { // Inicialização $persistence = new Balance(); // Localizador de Serviço $serviceLocator = new ServiceManager(); // Configurações $persistence->setServiceLocator($serviceLocator); // Banco de Dados $db = Application::getApplication()->getServiceManager()->get('db'); // Configurações $serviceLocator->setService('db', $db); // Limpeza de Lançamentos $delete = (new Sql($db))->delete()->from('postings'); // Execução $db->query($delete->getSqlString($db->getPlatform()))->execute(); // Limpeza de Contas $delete = (new Sql($db))->delete()->from('accounts'); // Execução $db->query($delete->getSqlString($db->getPlatform()))->execute(); // Tabelas $tbAccounts = Application::getApplication()->getServiceManager()->get('Balance\\Db\\TableGateway\\Accounts'); $tbPostings = Application::getApplication()->getServiceManager()->get('Balance\\Db\\TableGateway\\Postings'); $tbEntries = Application::getApplication()->getServiceManager()->get('Balance\\Db\\TableGateway\\Entries'); // Chaves Primárias $primaries = array('accounts' => array(), 'postings' => array()); // Receitas $tbAccounts->insert(array('name' => 'Receitas', 'type' => AccountType::PASSIVE, 'description' => 'Descrição de Receitas', 'position' => 0, 'accumulate' => 1)); // Captura de Chave Primária $primaries['accounts']['receitas'] = (int) $tbAccounts->getLastInsertValue(); // Despesas $tbAccounts->insert(array('name' => 'Despesas', 'type' => AccountType::PASSIVE, 'description' => 'Descrição de Despesas', 'position' => 1, 'accumulate' => 1)); // Captura de Chave Primária $primaries['accounts']['despesas'] = (int) $tbAccounts->getLastInsertValue(); // Banco $tbAccounts->insert(array('name' => 'Banco', 'type' => AccountType::ACTIVE, 'description' => 'Descrição de Banco', 'position' => 2, 'accumulate' => 0)); // Captura de Chave Primária $primaries['accounts']['banco'] = (int) $tbAccounts->getLastInsertValue(); // Caixa $tbAccounts->insert(array('name' => 'Caixa', 'type' => AccountType::ACTIVE, 'description' => 'Descrição de Caixa', 'position' => 3, 'accumulate' => 0)); // Captura de Chave Primária $primaries['accounts']['caixa'] = (int) $tbAccounts->getLastInsertValue(); // Inicializar Banco $tbPostings->insert(array('datetime' => '2010-10-10 10:00:00', 'description' => 'Inicialização de Banco')); // Captura de Chave Primária $primaries['postings']['banco_init'] = (int) $tbPostings->getLastInsertValue(); // Sacar Dinheiro do Banco $tbPostings->insert(array('datetime' => '2010-10-10 10:05:00', 'description' => 'Saque de Valores do Banco')); // Captura de Chave Primária $primaries['postings']['banco_remove'] = (int) $tbPostings->getLastInsertValue(); // Pagar uma Conta $tbPostings->insert(array('datetime' => '2010-10-10 10:05:00', 'description' => 'Pagamento de Conta')); // Captura de Chave Primária $primaries['postings']['caixa_remove'] = (int) $tbPostings->getLastInsertValue(); // Entrada: Inicializar Banco $tbEntries->insert(array('posting_id' => $primaries['postings']['banco_init'], 'account_id' => $primaries['accounts']['banco'], 'type' => EntryType::DEBIT, 'value' => 1000, 'position' => 0)); // Entrada: Inicializar Banco $tbEntries->insert(array('posting_id' => $primaries['postings']['banco_init'], 'account_id' => $primaries['accounts']['receitas'], 'type' => EntryType::CREDIT, 'value' => 1000, 'position' => 1)); // Entrada: Sacar Dinheiro do Banco $tbEntries->insert(array('posting_id' => $primaries['postings']['banco_remove'], 'account_id' => $primaries['accounts']['banco'], 'type' => EntryType::CREDIT, 'value' => 500, 'position' => 0)); // Entrada: Sacar Dinheiro do Banco $tbEntries->insert(array('posting_id' => $primaries['postings']['banco_remove'], 'account_id' => $primaries['accounts']['caixa'], 'type' => EntryType::DEBIT, 'value' => 500, 'position' => 1)); // Entrada: Pagar uma Conta $tbEntries->insert(array('posting_id' => $primaries['postings']['caixa_remove'], 'account_id' => $primaries['accounts']['caixa'], 'type' => EntryType::CREDIT, 'value' => 200, 'position' => 0)); // Entrada: Pagar uma Conta $tbEntries->insert(array('posting_id' => $primaries['postings']['caixa_remove'], 'account_id' => $primaries['accounts']['despesas'], 'type' => EntryType::DEBIT, 'value' => 200, 'position' => 1)); // Apresentação return $persistence; }