public async Task<ActionResult> Nuevo([Bind(Include = "id,nombre,subSelect,color")] LineasForm lineas)
        {
            if (ModelState.IsValid)
            {
                Lineas nuevaL = new Lineas();
                nuevaL.nombre = lineas.nombre;
                if (String.IsNullOrEmpty(lineas.color))
                {

                    lineas.color = "#d450b7";
                }
                else {
                    nuevaL.color = lineas.color;
                }
               
                db.Lineas.Add(nuevaL);
                await db.SaveChangesAsync();

                List<Subestaciones_Linea> sub_li = new List<Subestaciones_Linea>();

                foreach(var e in lineas.subSelect){
                    Subestaciones_Linea ne = new Subestaciones_Linea();
                    ne.id_linea = nuevaL.id;
                    ne.id_subestacion = e;
                    sub_li.Add(ne);                
                }

                db.Subestaciones_Linea.AddRange(sub_li);
                await db.SaveChangesAsync();

                Historial nuevo = new Historial("Creó", User.Identity.GetUserId(), "Lineas", lineas.id, lineas.nombre, Request.UserHostAddress);
                TempData["Mensaje"] = "Línea creada correctamente.";
                return RedirectToAction("Index");
            }

            TempData["Mensaje"] = "Error al crear la Línea.";
            return View(lineas);
        }
        public async Task<ActionResult> Editar([Bind(Include = "id,nombre,subSelect,color")] LineasForm lineas)
        {

            bool comprobar = new Lineas().ComprobarLinea(lineas.id, User.Identity.GetUserId());
            if (!comprobar)
            {
                TempData["MensajeAP"] = "Prohibido el acceso a esta Línea con tus credenciales";
                return RedirectToAction("Index", "Acceso");
                //throw new HttpException(401, "No tiene permisos");
            }


            if (ModelState.IsValid)
            {
                Lineas editarL = new Lineas();
                editarL.id = lineas.id;
                editarL.color = lineas.color;
                editarL.nombre = lineas.nombre;
                db.Entry(editarL).State = EntityState.Modified;
                await db.SaveChangesAsync();

                var listSub_Li = db.Subestaciones_Linea.Where(m => m.id_linea == editarL.id).ToList();

                if (listSub_Li.Count > 0) {
                    db.Subestaciones_Linea.RemoveRange(listSub_Li);
                    await db.SaveChangesAsync();
                }


                List<Subestaciones_Linea> sub_li = new List<Subestaciones_Linea>();

                if (lineas.subSelect != null)
                {
                    foreach (var e in lineas.subSelect)
                    {
                        Subestaciones_Linea ne = new Subestaciones_Linea();
                        ne.id_linea = editarL.id;
                        ne.id_subestacion = e;
                        sub_li.Add(ne);
                    }
                }
                db.Subestaciones_Linea.AddRange(sub_li);
                await db.SaveChangesAsync();

                Historial nuevo = new Historial("Editó", User.Identity.GetUserId(), "Lineas", lineas.id, lineas.nombre, Request.UserHostAddress);
                TempData["Mensaje"] = "Línea editada correctamente.";
                return RedirectToAction("Editar", "Lineas", new {id=editarL.id });
            }
            TempData["Mensaje"] = "Error al editar la Línea.";
            return RedirectToAction("Editar", "Lineas", new { id = lineas.id });
        }