public ActionResult Create(
            [Bind(Include = "id_Esquema,Nombre,Subestacion,Tipo_Equipo_Primario,Elemento_Electrico,Clase")] EsquemaProteccion esquemaProteccion,
            string[] Interruptores, string[] TC, string[] TP, string[] Relevadores, string RelevadorFunc, int[] Funciones
            )
        {
            var    usuario          = System.Web.HttpContext.Current.User?.Identity?.Name ?? null;
            string nombre_usuario   = System.Web.HttpContext.Current.User.Identity.Name;
            var    usuario_logueado = db.Personal.FirstOrDefault(c => c.Nombre == nombre_usuario);
            short  EAdmin           = usuario_logueado.id_EAdministrativa;

            if (ModelState.IsValid)
            {
                esquemaProteccion.Id_EAdministrativa = EAdmin;
                esquemaProteccion.Id_NumAccion       = GetNumAccion("I", "ESE", 0);
                EsquemaProteccion ep = db.EsquemasProteccion.Add(esquemaProteccion);
                db.Entry(ep).State = EntityState.Added;

                if (Interruptores != null)
                {
                    foreach (var item in Interruptores)
                    {
                        Esquema_Desconectivo e = new Esquema_Desconectivo();
                        e.desconectivo = item;
                        e.esquema      = esquemaProteccion.id_Esquema;
                        db.Esquema_Desconectivo.Add(e);
                    }
                }

                if (TC != null)
                {
                    foreach (var item in TC)
                    {
                        Esquema_TC e = new Esquema_TC();
                        e.TC      = item;
                        e.esquema = esquemaProteccion.id_Esquema;
                        db.Esquema_TC.Add(e);
                    }
                }

                if (TP != null)
                {
                    foreach (var item in TP)
                    {
                        Esquema_TP e = new Esquema_TP();
                        e.TP      = item;
                        e.esquema = esquemaProteccion.id_Esquema;
                        db.Esquema_TP.Add(e);
                    }
                }

                if (Relevadores != null)
                {
                    foreach (var item in Relevadores)
                    {
                        Esquema_Relevador e = new Esquema_Relevador();
                        e.rele    = item;
                        e.esquema = esquemaProteccion.id_Esquema;
                        db.Esquema_Rele.Add(e);
                    }
                }

                if (Funciones != null)
                {
                    var PlantillaId = (
                        from p in db.Plantillas
                        join r in db.Relevadores on p.id_Plantilla equals r.id_Plantilla
                        where r.Nro_Serie.Contains(RelevadorFunc)
                        select p.id_Plantilla
                        ).ToList();

                    foreach (var item in Funciones)
                    {
                        Plantilla_Funcion pf = new Plantilla_Funcion();
                        pf.id_Funcion   = item;
                        pf.id_Plantilla = PlantillaId[0];
                        db.Plantilla_Funcion.Add(pf);
                    }
                }

                db.SaveChanges();
                return(RedirectToAction("Details", new { id = esquemaProteccion.id_Esquema }));
            }
            Inicializar(esquemaProteccion);
            return(View(esquemaProteccion));
        }