public function getFaixaDescontoPermitido($offset, $limit, $busca = null)
 {
     $sql = "SELECT tfdp.*, count(tufdp.id) AS qtd_usuario FROM tbl_faixa_desconto_permitido AS tfdp\n\t\t\t\tLEFT JOIN tbl_usuario_faixa_desconto_permitido AS tufdp ON tfdp.id = tufdp.id_faixa_desconto_permitido \n\t\t\t\t";
     if (is_array($busca) && count($busca) > 0) {
         $where = prepareWhere($busca);
         $sql .= " WHERE " . $where;
     }
     $sql .= ' group by tfdp.id';
     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() && $select->rowCount() > 0) {
         $faixas = parse_arr_values($select->fetchAll(PDO::FETCH_ASSOC), 'all');
         $UsuarioFaixaDescontoPermitidoDao = new UsuarioFaixaDescontoPermitidoDao();
         foreach ($faixas as $key => $faixa) {
             $faixas[$key]['usuarios'] = $UsuarioFaixaDescontoPermitidoDao->getfaixas(array('id_faixa_desconto_permitido' => $faixa['id']));
         }
         if (isset($links_paginacao)) {
             return array('faixas' => $faixas, 'paginacao' => $links_paginacao);
         } else {
             return $faixas;
         }
     } else {
         return false;
     }
 }
 public static function updateFaixaDescontoPermitido()
 {
     $FaixaDescontoPermitidoTO = new FaixaDescontoPermitidoTO();
     $FaixaDescontoPermitidoDao = new FaixaDescontoPermitidoDao();
     $validator = new DataValidator();
     $FaixaDescontoPermitidoTO->id = isset($_POST["id"]) ? $_POST["id"] : null;
     $FaixaDescontoPermitidoTO->perc_desconto_max = isset($_POST["perc_desconto_max"]) ? $_POST["perc_desconto_max"] : null;
     $FaixaDescontoPermitidoTO->id_empreendimento = isset($_POST["id_empreendimento"]) ? $_POST["id_empreendimento"] : null;
     $usuarios = isset($_POST["usuarios"]) && count($_POST["usuarios"]) > 0 ? $_POST["usuarios"] : false;
     $delete_usuarios = isset($_POST["delete_usuarios"]) && count($_POST["delete_usuarios"]) > 0 ? $_POST["delete_usuarios"] : false;
     $validator->set_msg('O ID da faixa é obrigatório')->set('id', $FaixaDescontoPermitidoTO->id)->is_required();
     $validator->set_msg('Informe o valor máximo de desconto desta faixa')->set('perc_desconto_max', $FaixaDescontoPermitidoTO->perc_desconto_max)->is_required();
     $validator->set_msg('O id do empreendimento é obrigatório')->set('id_empreendimento', $FaixaDescontoPermitidoTO->id_empreendimento)->is_required();
     if ($FaixaDescontoPermitidoDao->verificarFaixa($FaixaDescontoPermitidoTO->perc_desconto_max, $FaixaDescontoPermitidoTO->id_empreendimento, $FaixaDescontoPermitidoTO->id) && $FaixaDescontoPermitidoTO->perc_desconto_max > 0) {
         $validator->_errors['perc_desconto_max'][] = 'Já existe outra faixa com este valor máximo ';
     }
     if (!$validator->validate()) {
         Flight::response()->status(406)->header('Content-Type', 'application/json')->write(json_encode($validator->get_errors()))->send();
         return;
     }
     $lastInsertId = $FaixaDescontoPermitidoDao->updateFaixaDescontoPermitido($FaixaDescontoPermitidoTO);
     if ($lastInsertId) {
         $UsuarioFaixaDescontoPermitidoDao = new UsuarioFaixaDescontoPermitidoDao();
         $UsuarioFaixaDescontoPermitidoTO = new UsuarioFaixaDescontoPermitidoTO();
         if ($usuarios) {
             $Dao = new Dao();
             $Dao->setTimeZone($FaixaDescontoPermitidoTO->id_empreendimento);
             $UsuarioFaixaDescontoPermitidoTO->dta_entrada = date('Y-m-d H:i:s');
             foreach ($usuarios as $usuario) {
                 $UsuarioFaixaDescontoPermitidoTO->id_usuario = $usuario['id_usuario'];
                 $UsuarioFaixaDescontoPermitidoTO->id_faixa_desconto_permitido = $FaixaDescontoPermitidoTO->id;
                 $UsuarioFaixaDescontoPermitidoTO->flg_ativo = $usuario['flg_ativo'];
                 $UsuarioFaixaDescontoPermitidoTO->id_responsavel_atv = $usuario['id_responsavel_atv'];
                 if (!$UsuarioFaixaDescontoPermitidoDao->saveUsuarioFaixaDescontoPermitido($UsuarioFaixaDescontoPermitidoTO)) {
                     Flight::halt(500, 'Erro ao vincular usuario a faixa ');
                 }
             }
         }
         if ($delete_usuarios) {
             foreach ($delete_usuarios as $usuario) {
                 if (!$UsuarioFaixaDescontoPermitidoDao->deleteUsuarioFaixaDescontoPermitido($usuario['id_rel'])) {
                     Flight::halt(500, 'Erro ao deletar usuario');
                 }
             }
         }
         Flight::halt(201);
     } else {
         Flight::halt(500, 'Erro ao inserir Desconto');
     }
 }