//public string[] ObtenerFunciones() //{ // CNTSEntities db = new CNTSEntities(); // IdentityPersonalizado Ident = (IdentityPersonalizado)HttpContext.Current.User.Identity; // if (Ident == null) // { // return null; // } // int id_usuario = Ident.Id_establecimiento; // //Encontrar los roles que tiene el usuario // string sql = "select id_rol from c_rol_usuario where id_usuario = " + id_usuario; // var roles = db.Database.SqlQuery<int>(sql).ToArray(); // //Encontrar cada funcion que tienen los roles // int[] funciones = new int[] { }; // IEnumerable<int> union = funciones; // foreach (int rol in roles) // { // sql= "select id_funcion from c_funcion_rol where id_rol = " + rol; // var fns = db.Database.SqlQuery<int>(sql).ToArray(); // union = union.Union(fns); // } // //Encontrar el nombre a partir de cada id // funciones = union.ToArray(); // int nfunciones = funciones.Length; // string[] resultado = new string[nfunciones]; // for (int i = 0; i < nfunciones; i++) // { // c_funcion c_funcion = db.c_funcion.Find(funciones[i]); // resultado[i] = c_funcion.cl_funcion; // } // return resultado; //} //public string[] ObtenerFunciones(int id) //{ // CNTSEntities db = new CNTSEntities(); // int id_usuario = id; // //Encontrar los roles que tiene el usuario // string sql = "select id_rol from c_rol_usuario where id_usuario = " + id_usuario; // var roles = db.Database.SqlQuery<int>(sql).ToArray(); // //Encontrar cada funcion que tienen los roles // int[] funciones = new int[] { }; // IEnumerable<int> union = funciones; // foreach (int rol in roles) // { // sql = "select id_funcion from c_funcion_rol where id_rol = " + rol; // var fns = db.Database.SqlQuery<int>(sql).ToArray(); // union = union.Union(fns); // } // //Encontrar el nombre a partir de cada id // funciones = union.ToArray(); // int nfunciones = funciones.Length; // string[] resultado = new string[nfunciones]; // for (int i = 0; i < nfunciones; i++) // { // c_funcion c_funcion = db.c_funcion.Find(funciones[i]); // resultado[i] = c_funcion.cl_funcion; // } // return resultado; //} public int IdFuncion(string _funcion) { CNTSEntities db = new CNTSEntities(); c_funcion funcion = db.c_funcion.Where(f => f.cl_funcion == _funcion).First(); return(funcion.id_funcion); }
public ActionResult Agregar([Bind(Include = "id_rol,cl_rol,nb_rol,id_funcion")] AgregarRolViewModel Rol) { c_rol c_rol = new c_rol() { cl_rol = Rol.cl_rol, nb_rol = Rol.nb_rol }; if (ModelState.IsValid) { db.c_rol.Add(c_rol); if (Rol.id_funcion != null) { foreach (int id_func in Rol.id_funcion) { c_funcion f = db.c_funcion.Find(id_func); c_rol.c_funcion.Add(f); } } db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.funciones = new MultiSelectList(db.c_funcion.OrderBy(x => x.c_menu_funcion.orden).OrderBy(x => x.orden), "id_funcion", "nb_funcion"); return(View(Rol)); }
public string[] ObtenerFunciones(int id) { CNTSEntities db = new CNTSEntities(); int id_usuario = id; //Encontrar los roles que tiene el usuario string sql = "select id_rol from c_rol_usuario where id_usuario = " + id_usuario; var roles = db.Database.SqlQuery <int>(sql).ToArray(); //Encontrar cada funcion que tienen los roles int[] funciones = new int[] { }; IEnumerable <int> union = funciones; foreach (int rol in roles) { sql = "select id_funcion from c_funcion_rol where id_rol = " + rol; var fns = db.Database.SqlQuery <int>(sql).ToArray(); union = union.Union(fns); } //Encontrar el nombre a partir de cada id funciones = union.ToArray(); int nfunciones = funciones.Length; string[] resultado = new string[nfunciones]; for (int i = 0; i < nfunciones; i++) { c_funcion c_funcion = db.c_funcion.Find(funciones[i]); resultado[i] = c_funcion.cl_funcion; } return(resultado); }
public ActionResult Edit([Bind(Include = "id_rol,cl_rol,nb_rol,id_funcion")] AgregarRolViewModel Rol) { c_rol c_rol = db.c_rol.Find(Rol.id_rol); if (ModelState.IsValid) { c_rol.cl_rol = Rol.cl_rol; c_rol.nb_rol = Rol.nb_rol; c_rol.c_funcion.Clear(); if (Rol.id_funcion != null) { foreach (int id_func in Rol.id_funcion) { c_funcion f = db.c_funcion.Find(id_func); c_rol.c_funcion.Add(f); } } db.SaveChanges(); return(RedirectToAction("Index")); } string sql = "select id_funcion from c_funcion_rol where id_rol = " + Rol.id_rol; var funciones = db.Database.SqlQuery <int>(sql).ToArray(); ViewBag.funciones = new MultiSelectList(db.c_funcion.OrderBy(x => x.c_menu_funcion.orden).OrderBy(x => x.orden), "id_funcion", "nb_funcion", funciones); return(View(Rol)); }