using System; using System.Collections; using System.Collections.Generic; using System.Data; using System.Data.Common; using AyABL.AUT; using AyAEL.SEG; using AyADAL; namespace AyABL.SEG { public class RolMenuComandoBL : AyABL { #region Constructores public RolMenuComandoBL() { objRolMenuComandoEL = new RolMenuComandoEL(); objMenuEL = new MenuEL(); } #endregion #region Atributos public RolMenuComandoEL objRolMenuComandoEL { get; set; } public MenuEL objMenuEL { get; set; } #endregion #region Metodos /// /// Carga todas los comando opciones del menuitem para un role especifico (para que la cargue necesita tener el comando Consultar) /// /// /// public DataSet cargarComandosxRol(int p_intPKRol, string p_strURL) { try { ArrayList arlCondiciones = new ArrayList(); arlCondiciones.Add(buscarPorRol(p_intPKRol, operadorLogico.AND)); arlCondiciones.Add(buscarPorURL(p_strURL, operadorLogico.NONE)); NombreTabla = Vistas.v_comandosxmenuxrol.ToString(); return baseDAL.EjecutarConsulta(this.NombreTabla, this.CamposTabla, this.NombreConeccionBD, arlCondiciones, null, null); } catch (Exception ex) { throw ex; } } #endregion #region Condiciones /// /// Devuelve la condicion de busqueda por el nombre del comando /// /// /// private CondicionDAL buscarPorComando(string p_strComando, operadorLogico operador) { CondicionDAL cdlCondicion = new CondicionDAL(); cdlCondicion.valorIzquierdo = Concepto.NOMBRE.ToString() + Tablas.comando.ToString().ToUpper(); cdlCondicion.operadorGeneral = operadorGeneral.EQUAL; cdlCondicion.operadorLogico = operador; cdlCondicion.valorDerecho = p_strComando; return cdlCondicion; } /// /// Devuelve la condicion de busqueda por descripcion del comando /// /// private CondicionDAL buscarPorRol(int p_intRol, operadorLogico operador) { CondicionDAL cdlCondicion = new CondicionDAL(); cdlCondicion.valorIzquierdo = Constraints.PK.ToString() + Tablas.rol.ToString().ToUpper(); cdlCondicion.operadorGeneral = operadorGeneral.EQUAL; cdlCondicion.operadorLogico = operador; cdlCondicion.valorDerecho = p_intRol; return cdlCondicion; } /// /// Devuelve la condicion de busqueda por el campo URL /// /// private CondicionDAL buscarPorURL(string p_strURL, operadorLogico operador) { CondicionDAL cdlCondicion = new CondicionDAL(); cdlCondicion.valorIzquierdo = t_seg_menu.URL.ToString() + Tablas.menu.ToString().ToUpper(); cdlCondicion.operadorGeneral = operadorGeneral.EQUAL; cdlCondicion.operadorLogico = operador; cdlCondicion.valorDerecho = p_strURL; return cdlCondicion; } #endregion } }