/// <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); } }
/// <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); } }
/// <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; } }
/// <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); } }
/// <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; } }
/// <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); } }
/// <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); } }
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); } }
/// <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); } }
/// <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(); }
/// <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); } }
/// <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; } }
/// <summary> /// Constructor de clase cls_usuario. /// </summary> public cls_usuario() { this.rol = new cls_rol(); }