<?php
include_once("server/lib/mod_dbm/package.dbm.php");

class GeocercasManager {

    static function getGeocercasCirculares($id_organizacion, $activeOnly = true) {
        $res = null;
        try {
            $q = sprintf("SELECT * FROM geocercas_circulares WHERE id_organizacion = %d %s ORDER BY id_geocerca", $id_organizacion, ($activeOnly) ? "AND activa=1" : "");
            $dao = new dbObject();
            $res = $dao->fetchQuery($q);
        } catch (Exception $e) {
            
        }
        return $res;
    }
    
    
    static function getGeocercaPorVehiculo($unitId, $orgId, $activeOnly = true){

        $res = null;
        try {
            
            $q = sprintf("SELECT g.id_geocerca,g.nombre,g.lat_centro,g.lng_centro,g.radio,IFNULL(gu.ingreso,0) as ingreso,IFNULL(gu.egreso,0) as egreso
                            FROM protracking.geocercas_circulares g
                            LEFT JOIN (SELECT * FROM geocercas_de_unidades gu WHERE  gu.unit_id = '%s') gu ON g.id_geocerca = gu.id_geocerca
                            WHERE g.id_organizacion = %d %s ", $unitId, $orgId, ($activeOnly) ? "AND g.activa=1" : "");
            
            $dao = new dbObject();
            $res = $dao->fetchQuery($q);
        } catch (Exception $e) {
            
        }
        return $res;

    }

    static function delGeocerca($id_geocerca, $id_organizacion){

        $res = null;
        try {
            
            $q = sprintf("UPDATE geocercas_circulares SET activa=0 WHERE id_geocerca=%d AND id_organizacion=%d", $id_geocerca, $id_organizacion);
            
            $dao = new dbObject();
            $res = $dao->execute($q);
            
        } catch (Exception $e) {
            
        }
        return $res;

    }

    static function createGeocerca($id_organizacion, $nombre, $lat_centro, $lng_centro, $radio){

        $res = null;
        try {
            
            $q = sprintf("INSERT INTO geocercas_circulares (id_organizacion, nombre, lat_centro, lng_centro, radio, activa) VALUES (%d, '%s', '%s', '%s', '%s', %d)", $id_organizacion, $nombre, $lat_centro, $lng_centro, $radio, 1);
            
            $dao = new dbObject();
            $res = $dao->execute($q);
            
        } catch (Exception $e) {
            
        }
        return $res;

    }

    static function editGeocerca($id_geocerca, $id_organizacion, $nombre, $lat_centro, $lng_centro, $radio){

        $res = null;
        try {
            
            $q = sprintf("UPDATE geocercas_circulares SET nombre='%s', lat_centro='%s', lng_centro='%s', radio='%s' WHERE id_geocerca=%d AND id_organizacion=%d", $nombre, $lat_centro, $lng_centro, $radio, $id_geocerca, $id_organizacion);
            
            $dao = new dbObject();
            $res = $dao->execute($q);
            
        } catch (Exception $e) {
            
        }
        return $res;

    }



}
?>