public IHttpActionResult PutDatosMovil(int id, DatosMapaMovil datosMapa)
        {
            if (!ModelState.IsValid)
            {
                return(StatusCode(HttpStatusCode.BadRequest));
            }

            if (id != datosMapa.IdMapaMovil)
            {
                return(StatusCode(HttpStatusCode.BadRequest));
            }
            try
            {
                string geo = string.Format("POINT({0} {1})", datosMapa.Lat.ToString().Replace(',', '.'), datosMapa.Lng.ToString().Replace(',', '.'));

                datosMapa.Geozona = System.Data.Entity.Spatial.DbGeography.FromText(geo, 4326);//3857

                db.EditarMapaMovil(id, datosMapa.Nombre, datosMapa.Descripcion, datosMapa.Lat, datosMapa.Lng, datosMapa.Radio, datosMapa.Geozona, datosMapa.TipoGeozona);
            }
            catch (Exception)
            {
                return(StatusCode(HttpStatusCode.InternalServerError));
            }


            return(StatusCode(HttpStatusCode.OK));
        }
        public IHttpActionResult PostDatosMovil(DatosMapaMovil datosMapa)
        {
            if (!ModelState.IsValid)
            {
                return(StatusCode(HttpStatusCode.BadRequest));
            }
            try
            {
                string geo = string.Format("POINT({0} {1})", datosMapa.Lat.ToString().Replace(',', '.'), datosMapa.Lng.ToString().Replace(',', '.'));
                datosMapa.Geozona = System.Data.Entity.Spatial.DbGeography.FromText(geo, 4326);//3857

                var listado = db.Database.SqlQuery <decimal>("AgregarMapaMovil @nombre,@descripcion,@lat,@lng,@radio,@tipoGeozona",
                                                             new SqlParameter("@nombre", datosMapa.Nombre),
                                                             new SqlParameter("@descripcion", datosMapa.Descripcion),
                                                             new SqlParameter("@lat", datosMapa.Lat),
                                                             new SqlParameter("@lng", datosMapa.Lng),
                                                             new SqlParameter("@radio", datosMapa.Radio),
                                                             //new SqlParameter("@geozona",datosMapa.Geozona),
                                                             new SqlParameter("@tipoGeozona", datosMapa.TipoGeozona)
                                                             ).FirstOrDefault();
                return(Json(listado));
                // var a = listado.ToList();

                /*
                 * db.DatosMapaMovil.Add(datosMapa);
                 * db.SaveChanges();*/
                //var a = db.AgregarMapaMovil(datosMapa.Nombre, datosMapa.Descripcion, datosMapa.Lat, datosMapa.Lng, datosMapa.Radio, datosMapa.Geozona,datosMapa.TipoGeozona);//.Buffer(1));
            }
            catch (Exception)
            {
                return(StatusCode(HttpStatusCode.InternalServerError));
            }
        }
        public async Task <IHttpActionResult> GetDatosMovil(int id)
        {
            DatosMapaMovil datosMapa = await db.DatosMapaMovil.FindAsync(id);

            if (datosMapa == null)
            {
                return(NotFound());
            }
            return(Json(datosMapa));
        }
        public IHttpActionResult DeleteDatosMovil(int id)
        {
            DatosMapaMovil datosMapa = db.DatosMapaMovil.Find(id);

            if (datosMapa == null)
            {
                return(StatusCode(HttpStatusCode.Found));
            }
            try
            {
                db.EliminarMapaMovil(id);
            }
            catch (Exception)
            {
                return(StatusCode(HttpStatusCode.InternalServerError));
            }

            return(StatusCode(HttpStatusCode.OK));
        }