public async Task<ActionResult> Nuevo([Bind(Include = "id,nombre,lat,lon,t_coordenadas")] SubestacionesForm model)
        {

            if (ModelState.IsValid)
            {
                try {


                    ///Coordenadas Geográfricas
                    if (model.t_coordenadas == 1)
                    {

                        Subestaciones subestacion = new Subestaciones();
                        subestacion.nombre = model.nombre;
                        subestacion.coordenadas = System.Data.Entity.Spatial.DbGeography.PointFromText("POINT(" + model.lat + " " + model.lon + ")", 4326).AsBinary();
                        db.Subestaciones.Add(subestacion);
                        await db.SaveChangesAsync();

                        model.id = subestacion.id;
                    }
                        ///Coordenadas UTM
                    else {
                        model.id = Guid.NewGuid().ToString();
                        bool insertar_utm = new Models.Subestaciones().UTM_Insertar(model);
                    
                    }
                
                Historial nuevo = new Historial("Creó", User.Identity.GetUserId(), "Subestaciones", model.id, model.nombre, Request.UserHostAddress);
                TempData["Mensaje"] = "Subestaciones creada correctamente.";
                return RedirectToAction("Editar", "Subestaciones", new { id = model.id });

                }
                catch {
                    TempData["Mensaje"] = "Error al crear la Subestaciones.";
                    return View(model);                
                }
            }

            TempData["Mensaje"] = "Error al crear la Subestaciones.";
            return View(model);
        }
        public ActionResult Editar(string id)
        {

            SubestacionesForm subestaciones = new Models.Subestaciones().Editar(id);
      
            if (subestaciones == null)
            {
                return HttpNotFound();
            }
            return View(subestaciones);
        }
 // POST: Subestaciones/Eliminar/5
 public  ActionResult Eliminar(string id)
 {
     bool eliminar = new Models.Subestaciones().Eliminar(id);
     if (eliminar)
     {
         bool el = new Ficheros().EliminarDirectorio(2,id);
         Historial nuevo = new Historial("Eliminó", User.Identity.GetUserId(), "Subestaciones", id, id, Request.UserHostAddress);
         TempData["Mensaje"] = "Subestaciones eliminado correctamente.";
         return RedirectToAction("Index");
     }
     TempData["Mensaje"] = "Error al eliminar la Subestación.";
     return RedirectToAction("Index");
 }
 public async Task<ActionResult> Editar([Bind(Include = "id,nombre,lat,lon,t_coordenadas")] SubestacionesForm model)
 {
     if (ModelState.IsValid)
     {
         try {
                 if (model.t_coordenadas == 1)
                 {
                     bool result = new Models.Subestaciones().Modificar(model);   
                 }
                 else
                 {
                     bool result = new Models.Subestaciones().UTM_Modificar(model);
                 }
                 Historial nuevo = new Historial("Editó", User.Identity.GetUserId(), "Subestaciones", model.id, model.nombre, Request.UserHostAddress);
                 TempData["Mensaje"] = "Subestaciones editada correctamente.";
                 return RedirectToAction("Index");                
         }
         catch {
             TempData["Mensaje"] = "Error al editar la Subestaciones.";
             return View(model);      
         }
     }
     TempData["Mensaje"] = "Error al editar la Subestaciones.";
     return View(model);
 }