Пример #1
0
        //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);
        }
Пример #2
0
        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));
        }
Пример #3
0
        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);
        }
Пример #4
0
        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));
        }