示例#1
0
        /// <summary>
        /// Método que permite insertar 
        /// un nuevo registro en la tabla permiso
        /// </summary>
        /// <param name="poPermiso">Permiso a insertar</param>
        /// <returns>Int valor del resultado de la ejecución de la sentencia</returns>
        public static int insertPermiso(cls_permiso poPermiso)
        {
            int vi_resultado;

                try
                {
                    String vs_comando = "PA_admi_permisoInsert";
                    cls_parameter[] vu_parametros =
                    {
                        new cls_parameter("@paramnombre", poPermiso.pNombre)
                    };

                    cls_sqlDatabase.beginTransaction();

                    vi_resultado = cls_sqlDatabase.executeNonQuery(vs_comando, true, vu_parametros);

                    poPermiso.pPK_permiso = Convert.ToInt32(cls_gestorUtil.selectMax(cls_constantes.PERMISO, "PK_permiso"));

                    cls_interface.insertarTransacccionBitacora(cls_constantes.INSERTAR, cls_constantes.PERMISO, poPermiso.pPK_permiso.ToString());

                    cls_sqlDatabase.commitTransaction();

                    return vi_resultado;

                }
                catch (Exception po_exception)
                {
                    cls_sqlDatabase.rollbackTransaction();
                    throw new Exception("Ocurrió un error al insertar el permiso.", po_exception);
                }
        }
示例#2
0
        /// <summary>
        /// Método que permite eliminar 
        /// un registro en la tabla permiso
        /// </summary>
        /// <param name="poPermiso">Permiso a eliminar</param>
        /// <returns>Int valor del resultado de la ejecución de la sentencia</returns>
        public static int deletePermiso(cls_permiso poPermiso)
        {
            int vi_resultado;

                try
                {
                    String vs_comando = "PA_admi_permisoDelete";
                    cls_parameter[] vu_parametros =
                    {
                 	    new cls_parameter("@paramPK_permiso", poPermiso.pPK_permiso)
                    };

                    cls_sqlDatabase.beginTransaction();

                    vi_resultado = cls_sqlDatabase.executeNonQuery(vs_comando, true, vu_parametros);

                    cls_interface.insertarTransacccionBitacora(cls_constantes.ELIMINAR, cls_constantes.PERMISO, poPermiso.pPK_permiso.ToString());

                    cls_sqlDatabase.commitTransaction();

                    return vi_resultado;

                }
                catch (Exception po_exception)
                {
                    cls_sqlDatabase.rollbackTransaction();
                    throw new Exception("Ocurrió un error al eliminar el permiso.", po_exception);
                }
        }
示例#3
0
        /// <summary>
        /// Obtiene los permisos
        /// asociados a una página
        /// esto para determinar si
        /// el usuario posee privilegios
        /// para realizar las diferentes opciones
        /// en el sistema.
        /// </summary>
        /// <param name="psUrl">String url de la página.</param>
        /// <param name="piRol">Int código del rol.</param>
        /// <returns>cls_pagina con los datos necesarios para el manejo de los permisos asociados.</returns>
        public static cls_pagina obtenerPermisoPaginaRol(string psUrl, int piRol)
        {
            List<cls_permiso> loPermisos = null;
               cls_permiso loPermiso = null;
               cls_pagina loPagina = null;
               try
               {
               String vs_comando = "PA_admi_selectPaginaRolPermisos";
               cls_parameter[] vu_parametros = {
                                                    new cls_parameter("@paramPagina", psUrl) ,
                                                    new cls_parameter("@paramRol", piRol) ,
                                                };

               DataSet vu_dataSet = cls_sqlDatabase.executeDataset(vs_comando, true, vu_parametros);

               loPermisos = new List<cls_permiso>();

               for (int i = 0; i < vu_dataSet.Tables[0].Rows.Count; i++)
               {
                   loPermiso = new cls_permiso();

                   loPermiso.pPK_permiso = Convert.ToInt32(vu_dataSet.Tables[0].Rows[i]["PK_permiso"]);

                   loPermiso.pNombre = vu_dataSet.Tables[0].Rows[i]["nombre"].ToString();

                   loPermisos.Add(loPermiso);
               }

               loPagina = new cls_pagina();
               loPagina.pUrl = psUrl;
               loPagina.Permisos = loPermisos;

               }
               catch (Exception po_exception)
               {
               throw new Exception("Ocurrió un error al obtener los permisos de una página.", po_exception);
               }

               return loPagina;
        }
 /// <summary>
 /// Método que se encarga
 /// de marcar los permisos
 /// asociados en la página.
 /// </summary>
 /// <param name="po_permiso"></param>
 private void marcarNodo(cls_permiso po_permiso)
 {
     foreach (TreeNode vo_node in this.trv_permisos.Nodes[0].ChildNodes)
     {
         if(vo_node.Value.Equals(po_permiso.pPK_permiso.ToString()))
         {
             vo_node.Checked = true;
             break;
         }
     }
 }
        /// <summary>
        /// Crea un objeto de tipo
        /// cls_pagina con la informacón
        /// que se encuentra en el formulario
        /// web
        /// </summary>
        /// <returns>cls_pagina</returns>
        private cls_pagina crearObjeto()
        {
            cls_pagina vo_pagina = new cls_pagina();
            if (cls_variablesSistema.tipoEstado != cls_constantes.AGREGAR)
            {
                vo_pagina = (cls_pagina)cls_variablesSistema.obj;
            }
            try
            {
                vo_pagina.pNombre = txt_nombre.Text;
                vo_pagina.pUrl = txt_url.Text;
                vo_pagina.FK_menu = this.ddl_menu.SelectedIndex;
                vo_pagina.pHeight = this.txt_largo.Text;

                vo_pagina.Permisos = new List<cls_permiso>();
                cls_permiso vo_permiso = null;

                foreach (TreeNode vo_nodo in this.trv_permisos.CheckedNodes)
                {
                    vo_permiso = new cls_permiso();
                    vo_permiso.pPK_permiso = Convert.ToInt32(vo_nodo.Value);
                    vo_permiso.pNombre = vo_nodo.Text;

                    vo_pagina.Permisos.Add(vo_permiso);
                }

                return vo_pagina;
            }
            catch (Exception po_exception)
            {
                throw new Exception("Ocurrió un error al crear el objeto para guardar el registro.", po_exception);
            }
        }
示例#6
0
 /// <summary>
 /// Constructor de clase cls_paginaPermiso
 /// </summary>
 public cls_paginaPermiso()
 {
     this.permiso = new cls_permiso();
     this.pagina = new cls_pagina();
 }
        /// <summary>
        /// Método que permite 
        /// obtener las asociación que exite
        /// entre las páginas y los permisos.
        /// </summary>
        /// <param name="poPagina">cls_permiso</param>
        /// <returns>List</returns>
        public static List<cls_permiso> listarPaginaPermiso(cls_pagina poPagina)
        {
            List<cls_permiso> vo_lista = null;
               cls_permiso voPermiso = null;
               try
               {
               String vs_comando = "PA_admi_paginaPermisoSelect";
               cls_parameter[] vu_parametros = {
                                                   new cls_parameter("@paramPagina", poPagina.pPK_pagina)
                                               };

               DataSet vu_dataSet = cls_sqlDatabase.executeDataset(vs_comando, true, vu_parametros);

               vo_lista = new List<cls_permiso>();

               for (int i = 0; i < vu_dataSet.Tables[0].Rows.Count; i++)
               {
                   voPermiso = new cls_permiso();

                   voPermiso.pPK_permiso = Convert.ToInt32(vu_dataSet.Tables[0].Rows[i]["PK_permiso"]);

                   vo_lista.Add(voPermiso);
               }

               return vo_lista;
               }
               catch (Exception po_exception)
               {
               throw new Exception("Ocurrió un error al obtener el listado de los páginas de manera filtrada.", po_exception);
               }
        }
        /// <summary>
        /// Método que permite seleccionar  
        /// un único registro en la tabla rol
        /// </summary>
        /// <returns>poRol valor del resultado de la ejecución de la sentencia</returns>
        public static cls_rol seleccionarRol(cls_rol poRol)
        {
            DataTable vo_permisos = null;
            cls_pagina vo_pagina = null;
            cls_permiso vo_permiso = null;

            try
            {
                String vs_comando = "PA_admi_rolSelectOne";
                cls_parameter[] vu_parametros = {
                                                   new cls_parameter("@paramPK_rol", poRol.pPK_rol)
                                               };

                DataSet vu_dataSet = cls_sqlDatabase.executeDataset(vs_comando, true, vu_parametros);

                poRol = new cls_rol();

                poRol.pPK_rol = Convert.ToInt32(vu_dataSet.Tables[0].Rows[0]["PK_rol"]);

                poRol.pDescripcion = vu_dataSet.Tables[0].Rows[0]["descripcion"].ToString();

                poRol.pNombre = vu_dataSet.Tables[0].Rows[0]["nombre"].ToString();

                poRol.pVisible = Convert.ToBoolean(vu_dataSet.Tables[0].Rows[0]["visible"]);

                //Se cargan los permisos de un rol.
                vo_permisos = cls_gestorRolPaginaPermiso.listarPermisosUsuario(poRol);

                if (vo_permisos != null && vo_permisos.Rows.Count > 0)
                {
                    //Se seleccionan los las diferentes páginas
                    var paginas = (from pagina in vo_permisos.AsEnumerable()
                                   select new
                                   {
                                       PAGINA = pagina.Field<Int32>("PK_pagina")
                                   }).Distinct();

                    foreach (var pagina in paginas)
                    {

                        // Se crea la pagina
                        vo_pagina = new cls_pagina();
                        vo_pagina.pPK_pagina = pagina.PAGINA;

                        //Se obtienen los permisos
                        var permisos = from permiso in vo_permisos.AsEnumerable()
                                       where permiso.Field<Int32>("PK_pagina") == pagina.PAGINA
                                       select new
                                       {
                                           PERMISO = permiso.Field<Int32>("PK_permiso")
                                       };

                        foreach(var permiso in permisos)
                        {
                            vo_permiso = new cls_permiso();
                            vo_permiso.pPK_permiso = permiso.PERMISO;

                            vo_pagina.Permisos.Add(vo_permiso);
                        }

                        poRol.Paginas.Add(vo_pagina);

                    }

                }

                return poRol;

            }
            catch (Exception po_exception)
            {
                throw new Exception("Ocurrió un error al obtener el rol especificado.", po_exception);
            }
        }
示例#9
0
        /// <summary>
        /// Método que elimina un permiso
        /// </summary>
        /// <param name="po_permiso">Permiso a eliminar</param>
        private void eliminarDatos(cls_permiso po_permiso)
        {
            try
            {
                cls_gestorPermiso.deletePermiso(po_permiso);

                this.llenarGridView();

                this.upd_Principal.Update();
            }
            catch (Exception po_exception)
            {
                throw new Exception("Ocurrió un error eliminando el permiso. Es posible que exista un registro asociado a este permiso.", po_exception);
            }
        }
示例#10
0
 /// <summary>
 /// Crea un objeto de tipo
 /// cls_permiso con la informacón
 /// que se encuentra en el formalario
 /// web
 /// </summary>
 /// <returns>cls_permiso</returns>
 private cls_permiso crearObjeto()
 {
     cls_permiso vo_permiso = new cls_permiso();
     if (cls_variablesSistema.tipoEstado != cls_constantes.AGREGAR)
     {
         vo_permiso = (cls_permiso)cls_variablesSistema.obj;
     }
     try
     {
         vo_permiso.pNombre = txt_nombre.Text;
         return vo_permiso;
     }
     catch (Exception po_exception)
     {
         throw new Exception("Ocurrió un error al crear el objeto para guardar el registro.", po_exception);
     }
 }
示例#11
0
        /// <summary>
        /// Cuando se seleccionada un botón del grid.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void grd_listaPermisos_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            try
            {
                int vi_indice = Convert.ToInt32(e.CommandArgument);

                GridViewRow vu_fila = this.grd_listaPermisos.Rows[vi_indice];

                cls_permiso vo_permiso = new cls_permiso();

                vo_permiso.pPK_permiso = Convert.ToInt32(vu_fila.Cells[0].Text.ToString());

                switch (e.CommandName.ToString())
                {
                    case cls_constantes.VER:
                        vo_permiso = cls_gestorPermiso.seleccionarPermiso(vo_permiso);

                        cls_variablesSistema.obj = vo_permiso;

                        cls_variablesSistema.tipoEstado = e.CommandName;

                        this.cargarObjeto();

                        this.ard_principal.SelectedIndex = 1;
                        break;

                    case cls_constantes.EDITAR:
                        vo_permiso = cls_gestorPermiso.seleccionarPermiso(vo_permiso);

                        cls_variablesSistema.obj = vo_permiso;

                        cls_variablesSistema.tipoEstado = e.CommandName;

                        this.cargarObjeto();

                        this.ard_principal.SelectedIndex = 1;
                        break;

                    case cls_constantes.ELIMINAR:
                        if (!cls_interface.verificarRegistrosPermanentes(COSEVI.CSLA.lib.accesoDatos.App_Constantes.cls_constantes.PERMISO, vo_permiso.pPK_permiso.ToString()))
                        {
                            this.eliminarDatos(vo_permiso);
                        }
                        else
                        {
                            //Se levanta PopUp indicando que no se puede eliminar el registro
                            this.mpe_RegistroPermante.Show();
                        }
                        break;

                    default:
                        break;
                }

            }
            catch (Exception po_exception)
            {
                String vs_error_usuario = "Ocurrió un error al intentar mostrar la ventana de edición para los registros.";
                this.lanzarExcepcion(po_exception, vs_error_usuario);
            }
        }
示例#12
0
 /// <summary>
 /// Crea un objeto de tipo
 /// cls_permiso con la informacón
 /// que se encuentra en el formalario
 /// web
 /// </summary>
 /// <returns>cls_permiso</returns>
 private cls_permiso crearObjeto()
 {
     cls_permiso vo_permiso = new cls_permiso();
     if (((CSLA.web.App_Variables.cls_variablesSistema)this.Session[CSLA.web.App_Constantes.cls_constantes.VARIABLES]).tipoEstado != cls_constantes.AGREGAR)
     {
         vo_permiso = (cls_permiso)((CSLA.web.App_Variables.cls_variablesSistema)this.Session[CSLA.web.App_Constantes.cls_constantes.VARIABLES]).obj;
     }
     try
     {
         vo_permiso.pNombre = txt_nombre.Text;
         return vo_permiso;
     }
     catch (Exception po_exception)
     {
         throw new Exception("Ocurrió un error al crear el objeto para guardar el registro.", po_exception);
     }
 }
示例#13
0
        /// <summary>
        /// Método que permite seleccionar 
        /// un permiso específico
        /// </summary>
        /// <param name="poPermiso"></param>
        /// <returns></returns>
        public static cls_permiso seleccionarPermiso(cls_permiso poPermiso)
        {
            try
               {
               String vs_comando = "PA_admi_permisoSelectOne";
               cls_parameter[] vu_parametros = {
                                                   new cls_parameter("@paramPK_permiso", poPermiso.pPK_permiso)
                                               };

               DataSet vu_dataSet = cls_sqlDatabase.executeDataset(vs_comando, true, vu_parametros);

               poPermiso = new cls_permiso();

               poPermiso.pPK_permiso = Convert.ToInt32(vu_dataSet.Tables[0].Rows[0]["PK_permiso"]);

               poPermiso.pNombre = vu_dataSet.Tables[0].Rows[0]["nombre"].ToString();

               return poPermiso;

               }
               catch (Exception po_exception)
               {
               throw new Exception("Ocurrió un error al obtener el permiso específico.", po_exception);
               }
        }
示例#14
0
        /// <summary>
        /// Hace un lista de permisos con un filtrado específico.
        /// </summary>
        /// <param name="psFiltro">String filtro.</param>
        /// <returns></returns>
        public static List<cls_permiso> listarPermisoFiltro(string psFiltro)
        {
            List<cls_permiso> vo_lista = null;
               cls_permiso voPermiso = null;
               try
               {
               DataSet vu_dataSet = cls_gestorUtil.selectFilter(cls_constantes.PERMISO, string.Empty, psFiltro);

               vo_lista = new List<cls_permiso>();

               for (int i = 0; i < vu_dataSet.Tables[0].Rows.Count; i++)
               {
                   voPermiso = new cls_permiso();

                   voPermiso.pPK_permiso = Convert.ToInt32(vu_dataSet.Tables[0].Rows[i]["PK_permiso"]);

                   voPermiso.pNombre = vu_dataSet.Tables[0].Rows[i]["nombre"].ToString();

                   vo_lista.Add(voPermiso);
               }

               return vo_lista;
               }
               catch (Exception po_exception)
               {
               throw new Exception("Ocurrió un error al obtener el listado de los permisos de manera filtrada.", po_exception);
               }
        }