コード例 #1
0
ファイル: UsuarioController.cs プロジェクト: raulp07/prueba02
        public static List <OpcionXPerfilEL> SetearMenu(bool padre)
        {
            List <OpcionXPerfilEL> lista  = null;
            OpcionXPerfilBL        menuBL = new OpcionXPerfilBL();

            OpcionXPerfilEL opcionesXPerfil = new OpcionXPerfilEL()
            {
                Aplicacion = SesionUsuario.Aplicacion,
                Perfil     = SesionUsuario.Usuario.Perfil
            };

            lista = menuBL.ListMenu(opcionesXPerfil);

            List <OpcionXPerfilEL> menuArbol = new List <OpcionXPerfilEL>();

            //primero seteamos los padres
            foreach (OpcionXPerfilEL m in lista.Where(x => x.Opcion.PadreId == 0))
            {
                AsignarMenu(menuArbol, m);
            }
            //seteamos los hijos
            if (!padre)
            {
                foreach (OpcionXPerfilEL m in lista.Where(x => x.Opcion.PadreId != 0))
                {
                    AsignarMenu(menuArbol, m);
                }
            }

            return(menuArbol);
        }
コード例 #2
0
        public List <OpcionXPerfilEL> ListMenu(OpcionXPerfilEL opcionPerfil)
        {
            string postdata = js.Serialize(opcionPerfil);

            return(js.Deserialize <List <OpcionXPerfilEL> >(conecRest.ConectREST("ListaMenu", "POST", postdata)));
            //return new OpcionXPerfilDA().ListMenu(opcionPerfil);
        }
コード例 #3
0
        public List <OpcionXPerfilEL> ListMenu(OpcionXPerfilEL opcionPerfil)
        {
            string request = ctx.IncomingRequest.Headers["token-client"];

            if (!UDA.Validarusuario(request))
            {
                return(null);
            }
            return(OpcionXPerfilDA.OpcionXPerfil.ListMenu(opcionPerfil));
        }
コード例 #4
0
        public List <OpcionXPerfilEL> ListMenu(OpcionXPerfilEL opcionPerfil)
        {
            using (SqlConnection con = new SqlConnection(ConexionUtil.Cadena))
            {
                con.Open();
                using (SqlCommand com = new SqlCommand("USPS_OpcionXPerfil", con))
                {
                    com.CommandType = CommandType.StoredProcedure;
                    com.Parameters.Add("@idapp", SqlDbType.Int).Value               = opcionPerfil.Aplicacion.Id;
                    com.Parameters.Add("@idperfil", SqlDbType.Int).Value            = opcionPerfil.Perfil.Id;
                    com.Parameters.Add("@coderr", SqlDbType.Int).Direction          = ParameterDirection.Output;
                    com.Parameters.Add("@msgerr", SqlDbType.VarChar, 100).Direction = ParameterDirection.Output;

                    List <OpcionXPerfilEL> lstMenu = new List <OpcionXPerfilEL>();
                    using (IDataReader dataReader = com.ExecuteReader())
                    {
                        while (dataReader.Read())
                        {
                            OpcionXPerfilEL item   = new OpcionXPerfilEL();
                            OpcionEL        opcion = OpcionDA.Opcion.GetOpcionByID((int)dataReader["OpcionId"]);
                            item.Opcion = opcion;

                            AplicacionEL aplicacion = new AplicacionEL()
                            {
                                Id          = dataReader["AplicacionId"] != DBNull.Value ? (int)dataReader["AplicacionId"] : 0,
                                Descripcion = dataReader["Aplicacion"] != DBNull.Value ? (string)dataReader["Aplicacion"] : ""
                            };
                            item.Aplicacion = aplicacion;

                            PerfilEL perfil = new PerfilEL()
                            {
                                Id     = dataReader["PerfilId"] != DBNull.Value ? (int)dataReader["PerfilId"] : 0,
                                Nombre = dataReader["Perfil"] != DBNull.Value ? (string)dataReader["Perfil"] : ""
                            };
                            item.Aplicacion = aplicacion;
                            if (dataReader["Escritura"] != DBNull.Value)
                            {
                                item.Escritura = (bool)dataReader["Escritura"];
                            }

                            lstMenu.Add(item);
                        }
                    }

                    return(lstMenu);
                }
            }
        }
コード例 #5
0
ファイル: UsuarioController.cs プロジェクト: raulp07/prueba02
        // Arma el arbol de menus del usuario.
        private static bool AsignarMenu(List <OpcionXPerfilEL> menuLista, OpcionXPerfilEL opcionXPerfil)
        {
            if (menuLista == null)
            {
                return(false);
            }

            if (opcionXPerfil.Opcion.PadreId == 0)
            {
                menuLista.Add(opcionXPerfil);
                return(true);
            }

            bool agregado = false;

            foreach (var m in menuLista)
            {
                if (m.Opcion.Id == opcionXPerfil.Opcion.PadreId)
                {
                    if (m.Hijos == null)
                    {
                        m.Hijos = new List <OpcionXPerfilEL>();
                    }
                    m.Hijos.Add(opcionXPerfil);
                    agregado = true;
                    break;
                }
            }

            if (!agregado)
            {
                foreach (var m in menuLista)
                {
                    //agregado = AsignarMenu(m.Hijos, opcion);
                    if (agregado)
                    {
                        break;
                    }
                }
            }

            return(agregado);
        }
コード例 #6
0
        public List <OpcionXPerfilEL> ListMenu(OpcionXPerfilEL opcionPerfil)
        {
            DAABRequest.Parameter[] arrParam =
            {
                new DAABRequest.Parameter("@idapp",    DbType.Int32,  ParameterDirection.Input),
                new DAABRequest.Parameter("@idperfil", DbType.Int32,  ParameterDirection.Input),
                new DAABRequest.Parameter("@coderr",   DbType.Int32,  ParameterDirection.Output),
                new DAABRequest.Parameter("@msgerr",   DbType.String,                       1000, ParameterDirection.Output)
            };

            arrParam[0].Value = opcionPerfil.Aplicacion.Id;
            arrParam[1].Value = opcionPerfil.Perfil.Id;

            configPARDOSDB objPardosDb = new configPARDOSDB();
            DAABRequest    objRequest  = objPardosDb.CreaRequest();

            objRequest.CommandType = CommandType.StoredProcedure;
            objRequest.Command     = "USPS_OpcionXPerfil";
            objRequest.Parameters.AddRange(arrParam);

            List <OpcionXPerfilEL> lstMenu = new List <OpcionXPerfilEL>();
            IDataReader            dr      = null;

            try
            {
                dr = objRequest.Factory.ExecuteReader(ref objRequest).ReturnDataReader;
                while (dr.Read())
                {
                    OpcionXPerfilEL item     = new OpcionXPerfilEL();
                    int?            opcionId = Funciones.CheckInt(dr["OpcionId"]);
                    OpcionEL        opcion   = new OpcionDA().GetOpcionByID(opcionId);

                    item.Opcion = opcion;

                    AplicacionEL aplicacion = new AplicacionEL()
                    {
                        Id          = Funciones.CheckInt(dr["AplicacionId"]),
                        Descripcion = Funciones.CheckStr(dr["Aplicacion"])
                    };

                    item.Aplicacion = aplicacion;

                    PerfilEL perfil = new PerfilEL()
                    {
                        Id     = Funciones.CheckInt(dr["PerfilId"]),
                        Nombre = Funciones.CheckStr(dr["Perfil"])
                    };

                    item.Aplicacion = aplicacion;
                    item.Escritura  = Convert.ToBoolean(dr["Escritura"]);

                    lstMenu.Add(item);
                }
            }
            catch (Exception e)
            {
                lstMenu = null;
                throw e;
            }
            finally
            {
                if (dr != null && dr.IsClosed == false)
                {
                    dr.Close();
                }
                objRequest.Parameters.Clear();
                objRequest.Factory.Dispose();
            }
            return(lstMenu);
        }
コード例 #7
0
ファイル: OpcionXPerfilBL.cs プロジェクト: raulp07/prueba02
 public List <OpcionXPerfilEL> ListMenu(OpcionXPerfilEL opcionPerfil)
 {
     return(new OpcionXPerfilDA().ListMenu(opcionPerfil));
 }