/// <summary>
        /// Método que permite eliminar 
        /// un registro en la tabla rol
        /// </summary>
        /// <param name="poRol">Rol a eliminar</param>
        /// <returns>Int valor del resultado de la ejecución de la sentencia</returns>
        public static int deleteRol(cls_rol poRol)
        {
            int vi_resultado;

            try
            {

                //Se elimina la relación con los permisos.
                cls_gestorRolPaginaPermiso.deleteRolPaginaPermisoAll(poRol);

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

                cls_sqlDatabase.beginTransaction();

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

                cls_interface.insertarTransacccionBitacora(cls_constantes.INSERTAR, cls_constantes.ROL, poRol.pPK_rol.ToString());

                cls_sqlDatabase.commitTransaction();

                return vi_resultado;

            }
            catch (Exception po_exception)
            {
                cls_sqlDatabase.rollbackTransaction();
                throw new Exception("Ocurrió un error al eliminar el rol.", po_exception);
            }
        }
        /// <summary>
        /// Método que permite eliminar 
        /// un registro en la tabla rolPaginaPermiso
        /// </summary>
        /// <param name="poRolPaginaPermiso">RolPaginaPermiso a eliminar</param>
        /// <returns>Int valor del resultado de la ejecución de la sentencia</returns>
        public static int deleteRolPaginaPermisoAll(cls_rol poRol)
        {
            int vi_resultado;

            try
            {
                String vs_comando = "PA_admi_rol_pagina_permisoDeleteAll";

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

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

                cls_interface.insertarTransacccionBitacora(cls_constantes.ELIMINAR, cls_constantes.ROL_PAGINA_PERMISO, poRol.pPK_rol.ToString());

                return vi_resultado;

            }
            catch (Exception po_exception)
            {
                throw new Exception("Ocurrió un error al eliminar los roles,páginas,permisos.", po_exception);
            }
        }
Beispiel #3
0
        /// <summary>
        /// Método que permite insertar 
        /// un nuevo registro en la tabla rol
        /// </summary>
        /// <param name="poRol">Rol a insertar</param>
        /// <returns>Int valor del resultado de la ejecución de la sentencia</returns>
        public static int insertRol(cls_rol poRol)
        {
            int vi_resultado;
            cls_rolPaginaPermiso vo_rolPaginaPermiso = null;

            try
            {
                String vs_comando = "PA_admi_RolInsert";
                cls_parameter[] vu_parametros =
                {
                    new cls_parameter("@paramdescripcion", poRol.pDescripcion),
                    new cls_parameter("@paramnombre", poRol.pNombre),
                    new cls_parameter("@paramvisible", poRol.pVisible)
                };

                cls_sqlDatabase.beginTransaction();

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

                poRol.pPK_rol = Convert.ToInt16(cls_gestorUtil.selectMax("t_admi_rol", "PK_rol"));

                if (poRol.Paginas != null)
                {
                    foreach (cls_pagina pagina in poRol.Paginas)
                    {
                        vo_rolPaginaPermiso = new cls_rolPaginaPermiso();

                        vo_rolPaginaPermiso.pPagina = pagina;
                        vo_rolPaginaPermiso.pRol = poRol;
                        vo_rolPaginaPermiso.pUsuarioTransaccion = poRol.pUsuarioTransaccion;

                        foreach (cls_permiso permiso in pagina.Permisos)
                        {
                            vo_rolPaginaPermiso.pPermiso = permiso;

                            cls_gestorRolPaginaPermiso.insertRolPaginaPermiso(vo_rolPaginaPermiso);
                        }
                    }
                }

                // Se obtiene el número del registro insertado.
                poRol.pPK_rol = Convert.ToInt32(cls_gestorUtil.selectMax(cls_constantes.ROL, "PK_rol"));

                cls_interface.insertarTransacccionBitacora(cls_constantes.INSERTAR, cls_constantes.ROL, poRol.pPK_rol.ToString(),poRol.pUsuarioTransaccion);

                cls_sqlDatabase.commitTransaction();

                return vi_resultado;

            }
            catch (Exception po_exception)
            {
                cls_sqlDatabase.rollbackTransaction();
                throw new Exception("Ocurrió un error al insertar el rol.", po_exception);
            }
        }
Beispiel #4
0
        /// <summary>
        /// Método que permite eliminar 
        /// un registro en la tabla rol
        /// </summary>
        /// <param name="poRol">Rol a eliminar</param>
        /// <returns>Int valor del resultado de la ejecución de la sentencia</returns>
        public static int deleteRol(cls_rol poRol)
        {
            int vi_resultado;

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

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

                return vi_resultado;

            }
            catch (Exception)
            {
                throw;
            }
        }
Beispiel #5
0
        /// <summary>
        /// Método que permite insertar 
        /// un nuevo registro en la tabla rol
        /// </summary>
        /// <param name="poRol">Rol a insertar</param>
        /// <returns>Int valor del resultado de la ejecución de la sentencia</returns>
        public static int insertRol(cls_rol poRol)
        {
            int vi_resultado;

            try
            {
                String vs_comando = "PA_admi_RolInsert";
                cls_parameter[] vu_parametros =
                {
                    new cls_parameter("@paramdescripcion", poRol.pDescripcion),
                    new cls_parameter("@paramnombre", poRol.pNombre),
                    new cls_parameter("@paramvisible", poRol.pVisible)
                };

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

                return vi_resultado;

            }
            catch (Exception)
            {
                throw;
            }
        }
        /// <summary>
        /// Método que permite listar 
        /// todos los permisos de un rol
        /// </summary>
        /// <returns> DataTable con los datos</returns>
        public static DataTable listarPermisosUsuario(cls_rol poRol)
        {
            try
            {
                String vs_comando = "PA_admi_rol_pagina_permisoSelectRol";
                cls_parameter[] vu_parametros = {
                                                    new cls_parameter("@paramPK_rol", poRol.pPK_rol)
                                                };

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

                return vu_dataSet.Tables[0];
            }
            catch (Exception po_exception)
            {
                throw new Exception("Ocurrió un error al obtener el listado de los permisos de usuario en la página.", po_exception);
            }
        }
Beispiel #7
0
        /// <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)
        {
            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"]);

                   return poRol;

               }
               catch (Exception)
               {
                   throw;
               }
        }
Beispiel #8
0
        /// <summary>
        /// Método que elimina un rol
        /// </summary>
        /// <param name="po_rol">Permiso a eliminar</param>
        private void eliminarDatos(cls_rol po_rol)
        {
            try
            {
                cls_gestorRol.deleteRol(po_rol);

                this.llenarGridView();

                this.upd_Principal.Update();
            }
            catch (Exception po_exception)
            {
                throw new Exception("Ocurrió un error eliminando el rol. Es posible que exista un registro asociado a este rol.", po_exception);
            }
        }
Beispiel #9
0
        /// <summary>
        /// Crea un objeto de tipo
        /// cls_rol con la informacón
        /// que se encuentra en el formulario
        /// web
        /// </summary>
        /// <returns>cls_rol</returns>
        private cls_rol crearObjeto()
        {
            cls_rol vo_rol = new cls_rol();
            if (cls_variablesSistema.tipoEstado != cls_constantes.AGREGAR)
            {
                vo_rol = (cls_rol)cls_variablesSistema.obj;
            }
            try
            {
                vo_rol.pNombre = txt_nombre.Text;
                vo_rol.pDescripcion = txt_descripcion.Text;
                vo_rol.pVisible = this.chk_activo.Checked;

                vo_rol.Paginas = ObtenerPermisos();

                return vo_rol;
            }
            catch (Exception po_exception)
            {
                throw new Exception("Ocurrió un error al crear el objeto para guardar el registro.", po_exception);
            }
        }
Beispiel #10
0
        private void cargarPermisosRol(cls_rol poRol)
        {
            List<cls_permiso> vo_permisos = null;
            cls_pagina vo_pagina = null;
            try
            {
                if (poRol.Paginas != null)
                {
                    foreach (cls_pagina pagina in poRol.Paginas)
                    {
                        vo_permisos = pagina.Permisos;

                        vo_pagina = cls_gestorPagina.seleccionarPagina(pagina);

                        vo_pagina.Permisos = vo_permisos;

                        foreach (cls_permiso permiso in vo_pagina.Permisos)
                        {
                            this.marcarDesmarcarNodo(vo_pagina.FK_menu + "/" + vo_pagina.pPK_pagina + "/" + permiso.pPK_permiso, this.trv_menu.Nodes, true);
                        }
                    }
                }
            }
            catch (Exception po_exception)
            {
                throw new Exception("Ocurrió un error cargando los permisos para el rol.", po_exception);
            }
        }
Beispiel #11
0
        /// <summary>
        /// Cuando se seleccionada un botón del grid.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void grd_listaRoles_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            try
            {
                int vi_indice = Convert.ToInt32(e.CommandArgument);

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

                cls_rol vo_rol = new cls_rol();

                vo_rol.pPK_rol = Convert.ToInt32(vu_fila.Cells[0].Text.ToString());

                switch (e.CommandName.ToString())
                {
                    case cls_constantes.VER:
                        vo_rol = cls_gestorRol.seleccionarRol(vo_rol);

                        this.cargarPermisosRol(vo_rol);

                        cls_variablesSistema.obj = vo_rol;

                        cls_variablesSistema.tipoEstado = e.CommandName;

                        this.cargarObjeto();

                        this.ard_principal.SelectedIndex = 1;
                        break;

                    case cls_constantes.EDITAR:
                        vo_rol = cls_gestorRol.seleccionarRol(vo_rol);

                        this.cargarPermisosRol(vo_rol);

                        cls_variablesSistema.obj = vo_rol;

                        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.ROL, vo_rol.pPK_rol.ToString()))
                        {
                            this.eliminarDatos(vo_rol);
                        }
                        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);
            }
        }
Beispiel #12
0
        /// <summary>
        /// Método que elimina un rol
        /// </summary>
        /// <param name="po_rol">Permiso a eliminar</param>
        private void eliminarDatos(cls_rol po_rol)
        {
            try
            {
                po_rol.pUsuarioTransaccion = ((cls_usuario)Session["cls_usuario"]).pPK_usuario;

                cls_gestorRol.deleteRol(po_rol);

                this.llenarGridView();

                this.upd_Principal.Update();
            }
            catch (Exception po_exception)
            {
                throw new Exception("Ocurrió un error eliminando el rol. Es posible que exista un registro asociado a este rol.", po_exception);
            }
        }
 /// <summary>
 /// Constructor de la clase cls_rolPaginaPermiso.
 /// </summary>
 public cls_rolPaginaPermiso()
 {
     this.rol = new cls_rol();
     this.pagina = new cls_pagina();
     this.permiso = new cls_permiso();
 }
Beispiel #14
0
 /// <summary>
 /// Constructor de clase cls_usuario.
 /// </summary>
 public cls_usuario()
 {
     this.rol = new cls_rol();
     this.departamento = new cls_departamento();
 }
        /// <summary>
        /// Método que permite actualizar 
        /// un registro en la tabla rol
        /// </summary>
        /// <param name="poRol">Rol a actualizar</param>
        /// <returns>Int valor del resultado de la ejecución de la sentencia</returns>
        public static int updateRol(cls_rol poRol)
        {
            int vi_resultado;
            cls_rolPaginaPermiso vo_rolPaginaPermiso = null;

            try
            {
                String vs_comando = "PA_admi_RolUpdate";
                cls_parameter[] vu_parametros =
                {
                    new cls_parameter("@paramPK_rol", poRol.pPK_rol),
                    new cls_parameter("@paramdescripcion", poRol.pDescripcion),
                    new cls_parameter("@paramnombre", poRol.pNombre),
                    new cls_parameter("@paramvisible", poRol.pVisible)
                };

                cls_sqlDatabase.beginTransaction();

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

                //Se elimina la asociacion de los permisos

                cls_gestorRolPaginaPermiso.deleteRolPaginaPermisoAll(poRol);

                //Se graban los nuevos permsos
                if (poRol.Paginas != null)
                {
                    foreach (cls_pagina pagina in poRol.Paginas)
                    {
                        vo_rolPaginaPermiso = new cls_rolPaginaPermiso();

                        vo_rolPaginaPermiso.pPagina = pagina;
                        vo_rolPaginaPermiso.pRol = poRol;

                        foreach (cls_permiso permiso in pagina.Permisos)
                        {
                            vo_rolPaginaPermiso.pPermiso = permiso;

                            cls_gestorRolPaginaPermiso.insertRolPaginaPermiso(vo_rolPaginaPermiso);
                        }
                    }
                }

                cls_interface.insertarTransacccionBitacora(cls_constantes.MODIFICAR, cls_constantes.ROL, poRol.pPK_rol.ToString());

                cls_sqlDatabase.commitTransaction();

                return vi_resultado;

            }
            catch (Exception po_exception)
            {
                cls_sqlDatabase.rollbackTransaction();
                throw new Exception("Ocurrió un error al modificar el rol.", 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);
            }
        }
        /// <summary>
        /// Hace un lista de roles con un filtrado específico.
        /// </summary>
        /// <param name="psFiltro">String filtro.</param>
        /// <returns></returns>
        public static List<cls_rol> listarRolFiltro(string psFiltro)
        {
            List<cls_rol> vo_lista = null;
            cls_rol voRol = null;
            try
            {
                DataSet vu_dataSet = cls_gestorUtil.selectFilter(cls_constantes.ROL, string.Empty, psFiltro);

                vo_lista = new List<cls_rol>();

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

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

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

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

                    vo_lista.Add(voRol);
                }

                return vo_lista;
            }
            catch (Exception po_exception)
            {
                throw new Exception("Ocurrió un error al obtener el listado de los roles de manera filtrada.", po_exception);
            }
        }
Beispiel #18
0
        /// <summary>
        /// Método que permite listar 
        /// todos los registros en la tabla rol
        /// </summary>
        /// <returns> List<cls_rol>  valor del resultado de la ejecución de la sentencia</returns>
        public static List<cls_rol> listarRol()
        {
            List<cls_rol> vo_lista = null;
               cls_rol poRol = null;
               try
               {
                   String vs_comando = "PA_admi_rolSelect";
                   cls_parameter[] vu_parametros = { };

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

                   vo_lista = new List<cls_rol>();
                   for (int i = 0; i < vu_dataSet.Tables[0].Rows.Count; i++)
                   {
                       poRol = new cls_rol();

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

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

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

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

                       vo_lista.Add(poRol);
                   }

                   return vo_lista;
               }
               catch (Exception)
               {
                   throw;
               }
        }
Beispiel #19
0
 /// <summary>
 /// Constructor de clase cls_usuario.
 /// </summary>
 public cls_usuario()
 {
     this.rol = new cls_rol();
 }