public string GuardarPuntosGeocerca(Geocerca geocerca, int accion)
    {
        HttpCookie cookie = HttpContext.Current.Request.Cookies.Get("Usuario");
        if (cookie != null && AutentificacionBD.VerificarToken(cookie.Values.Get("Token")))
        {
            string cookieval = cookie.Values.Get("Cliente");
            string cliente = new Codificador().Desencriptar(cookie.Values.Get("Cliente"));
            cliente = cliente.Replace("\0", string.Empty);
            //Simplificamos vertices para georuta
            if (geocerca.Tipo == "GeoRuta")
                geocerca.QuitaVertices();
            //Nueva geocerca
            if (accion == 0)
            {
                geocerca.GeocercaID = Util.GenerarNombreGeocerca(cliente);
                geocerca.Cliente = cliente;
                geocerca.Zona = ConversionesGeograficas.GetZoneLatLon(geocerca.Puntos[0].Longitud);
                geocerca.geoPoligono = geocerca.geoMaxMin();

                foreach (Punto punto in geocerca.Puntos)
                {
                    Double[] xy = ConversionesGeograficas.LatLonToUTMXY(punto.Latitud, punto.Longitud);
                }

                if (GeocercasBD.GuardarGeocerca(geocerca))
                {
                    if (GeocercasBD.GuardarPuntos(geocerca))
                        return geocerca.GeocercaID;
                }
            }
            //Editar Visual
            else if(accion == 1)
            {
                if (GeocercasBD.GuardarVisual(geocerca))
                    return geocerca.GeocercaID;
            }
            //Editar Visual y Geopoligono
            else if (accion == 2)
            {
                geocerca.Cliente = cliente;
                geocerca.Zona = ConversionesGeograficas.GetZoneLatLon(geocerca.Puntos[0].Longitud);
                geocerca.geoPoligono = geocerca.geoMaxMin();
                if (GeocercasBD.GuardarVisualGeopoligono(geocerca))
                {
                    if (GeocercasBD.GuardarPuntos(geocerca))
                    {
                        //GeoRutaDatos rutaDatos = GeocercasBD.ConsultarRutaDatos(geocerca.GeocercaID);
                        return geocerca.GeocercaID;
                    }
                    else
                    {
                        return "errorBD";
                    }
                }
                else
                {
                    return "errorBD";
                }
            }
            else
            {
                return "errorBD";
            }
        }
        return "error404";
    }