public function getMaquinetas($offset, $limit, $busca = array())
 {
     $offset = $offset == null ? 0 : $offset;
     $limit = $limit == null ? 0 : $limit;
     $sql = "SELECT maq.*, con.dsc_conta_bancaria FROM `tbl_maquineta` AS maq\n\t\t\t\tINNER JOIN `tbl_conta_bancaria` AS con ON maq.id_conta_bancaria = con.id ";
     if (is_array($busca) && count($busca) > 0) {
         $where = prepareWhere($busca);
         $sql .= "WHERE " . $where;
     }
     if ($limit > 0) {
         $pag = $offset / $limit + 1;
         $Paginacao = new PaginacaoController($sql);
         $Paginacao->num_paginas = 10;
         $Paginacao->resultados_pagina = $limit;
         $Paginacao->paginarResultado($pag);
         $links_paginacao = $Paginacao->paginasDisponiveis($pag);
         $sql = $Paginacao->_sql_paginacao;
     }
     $select = $this->conn->prepare($sql);
     if ($select->execute()) {
         if ($select->rowCount() > 0) {
             $saida['maquinetas'] = $select->fetchAll(PDO::FETCH_ASSOC);
             $TaxaMaquinetaDao = new TaxaMaquinetaDao();
             foreach ($saida['maquinetas'] as $key => $maquineta) {
                 $saida['maquinetas'][$key]['taxas'] = $TaxaMaquinetaDao->getfaixas(array("id_maquineta" => $maquineta['id_maquineta']));
             }
             $saida['paginacao'] = isset($links_paginacao) ? $links_paginacao : null;
             return $saida;
         } else {
             return false;
         }
     } else {
         return false;
     }
 }
 public static function updateMaquineta()
 {
     $MaquinetaTO = new MaquinetaTO();
     $MaquinetaDao = new MaquinetaDao();
     $MaquinetaTO->num_serie_maquineta = isset($_POST['num_serie_maquineta']) ? $_POST['num_serie_maquineta'] : '';
     $MaquinetaTO->id_conta_bancaria = isset($_POST['id_conta_bancaria']) ? $_POST['id_conta_bancaria'] : '';
     $MaquinetaTO->per_margem_credito = isset($_POST['per_margem_credito']) ? $_POST['per_margem_credito'] : '';
     $MaquinetaTO->per_margem_debito = isset($_POST['per_margem_debito']) ? $_POST['per_margem_debito'] : '';
     $MaquinetaTO->id_empreendimento = isset($_POST['id_empreendimento']) ? $_POST['id_empreendimento'] : '';
     $MaquinetaTO->id_maquineta = isset($_POST['id_maquineta']) ? $_POST['id_maquineta'] : '';
     $delete_taxa = isset($_POST['delete_taxa']) && is_array($_POST['delete_taxa']) && count($_POST['delete_taxa']) > 0 ? $_POST['delete_taxa'] : array();
     $update_taxa = isset($_POST['update_taxa']) && is_array($_POST['update_taxa']) && count($_POST['update_taxa']) > 0 ? $_POST['update_taxa'] : array();
     $validator = new DataValidator();
     $validator->set_msg('O número de série é obrigatório')->set('num_serie_maquineta', $MaquinetaTO->num_serie_maquineta)->is_required();
     $validator->set_msg('A conta bancaria é obrigatório')->set('id_conta_bancaria', $MaquinetaTO->id_conta_bancaria)->is_required();
     $validator->set_msg('A margem de débito é obrigatório')->set('per_margem_debito', $MaquinetaTO->per_margem_debito)->is_required();
     $validator->set_msg('O id do Empreendimento é obrigatório')->set('id_empreendimento', $MaquinetaTO->id_empreendimento)->is_required();
     $validator->set_msg('O ID da maquineta é obrigatório')->set('num_serie_maquineta', $MaquinetaTO->num_serie_maquineta)->is_required();
     if (!$validator->validate()) {
         Flight::response()->status(406)->header('Content-Type', 'application/json')->write(json_encode($validator->get_errors()))->send();
         return;
     }
     if ($MaquinetaDao->updateMaquineta($MaquinetaTO)) {
         $TaxaMaquinetaDao = new TaxaMaquinetaDao();
         $TaxaMaquinetaTO = new TaxaMaquinetaTO();
         foreach ($delete_taxa as $key => $taxa) {
             $TaxaMaquinetaDao->deleteFaixa($taxa['id']);
         }
         foreach ($update_taxa as $key => $taxa) {
             $TaxaMaquinetaTO->id_maquineta = $MaquinetaTO->id_maquineta;
             $TaxaMaquinetaTO->qtd_parcelas_inicio = isset($taxa['qtd_parcelas_inicio']) ? $taxa['qtd_parcelas_inicio'] : '';
             $TaxaMaquinetaTO->qtd_parcelas_fim = isset($taxa['qtd_parcelas_fim']) && is_numeric($taxa['qtd_parcelas_fim']) && (int) $taxa['qtd_parcelas_fim'] > 0 ? $taxa['qtd_parcelas_fim'] : NULL;
             $TaxaMaquinetaTO->prc_taxa = isset($taxa['prc_taxa']) ? $taxa['prc_taxa'] : '';
             if (!$TaxaMaquinetaDao->savetaxaMaquineta($TaxaMaquinetaTO)) {
                 Flight::halt(500, 'Erro ao salvar taxas');
             }
         }
         Flight::halt(200);
     } else {
         Flight::halt(500, 'erro ao atualizar');
     }
 }