/* ****************************************************************************/ /* Metodo que Carga Los Items del Control Menu * /* ****************************************************************************/ protected void bindMenuControl(Boolean valor) { ConsultasGenerales consultaGeneral = new ConsultasGenerales(); bool objetivos = consultaGeneral.ComprobarModuloObjetivos(Session["nit"].ToString(), Session["idEmpresa"].ToString()); bool comp = consultaGeneral.ComprobarModuloCompetencias(Session["nit"].ToString(), Session["idEmpresa"].ToString()); bool activa = consultaGeneral.ComprobarCompaniaActiva(Session["compania"].ToString(), Session["idEmpresa"].ToString()); Session.Add("seguimientoPeriodo", consultaGeneral.ConsultarPeriodoSeguimiento(Session["compania"].ToString(), Session["idEmpresa"].ToString())); if (valor) { CnMysql Conexion = new CnMysql(Cn); MySqlCommand cmd = new MySqlCommand(); MySqlDataAdapter sdaSqlDataAdapter = new MySqlDataAdapter(); DataTable dtDataTable = null; DataSet dsDataSet = new DataSet(); try { Conexion.AbrirCnMysql(); sdaSqlDataAdapter = new MySqlDataAdapter(bd1 + ".CargueMenu", Conexion.ObtenerCnMysql()); sdaSqlDataAdapter.SelectCommand.CommandType = CommandType.StoredProcedure; sdaSqlDataAdapter.SelectCommand.Parameters.AddWithValue("@idEmpleado", Session["usuario"].ToString()); sdaSqlDataAdapter.SelectCommand.Parameters.AddWithValue("@Id_Empresa", "AE"); sdaSqlDataAdapter.SelectCommand.Parameters.AddWithValue("@TipoPortal", "T"); sdaSqlDataAdapter.SelectCommand.Parameters.AddWithValue("@IdRol", Session["rol"].ToString()); sdaSqlDataAdapter.SelectCommand.Parameters.AddWithValue("@Externo", this.Session["Externo"].ToString()); sdaSqlDataAdapter.Fill(dsDataSet); dtDataTable = dsDataSet.Tables[1]; if (dtDataTable != null && dtDataTable.Rows.Count > 0) { foreach (DataRow drDataRow in dtDataTable.Rows) { if (Convert.ToInt32(drDataRow[0]) == Convert.ToInt32(drDataRow[2])) { MySqlCommand rolCommand; if (this.Session["Externo"].ToString() == "False") { rolCommand = new MySqlCommand( "SELECT Id_Menu FROM " + bd1 + ".roles_menu WHERE (Id_Rol = " + this.Session["rol"].ToString() + " OR Id_Rol = 2)" + " AND Id_Menu = " + drDataRow[2], Conexion.ObtenerCnMysql()); } else { rolCommand = new MySqlCommand( "SELECT Id_Menu FROM " + bd1 + ".roles_menu WHERE Id_Rol = " + this.Session["rol"].ToString() + " AND Id_Menu = " + drDataRow[2], Conexion.ObtenerCnMysql()); } MySqlDataAdapter rolDataAdapter = new MySqlDataAdapter(rolCommand); DataSet rolDataSet = new DataSet(); DataTable rolDataTable = null; rolDataAdapter.Fill(rolDataSet); rolDataTable = rolDataSet.Tables[0]; if (!drDataRow[1].ToString().Contains("Gestión Desempeño") && !drDataRow[1].ToString().Contains("Evaluar Competencias")) { if (rolDataTable != null && rolDataTable.Rows.Count > 0) { MenuItem miMenuItem = new MenuItem(Convert.ToString(drDataRow[1]), Convert.ToString(drDataRow[0]), String.Empty, Convert.ToString(drDataRow[3])); this.MenuPrincipal.Items.Add(miMenuItem); AddChildItem(ref miMenuItem, dtDataTable); } } else { if (drDataRow[1].ToString().Contains("Gestión Desempeño") && objetivos && activa) { if (rolDataTable != null && rolDataTable.Rows.Count > 0) { MenuItem miMenuItem = new MenuItem(Convert.ToString(drDataRow[1]), Convert.ToString(drDataRow[0]), String.Empty, Convert.ToString(drDataRow[3])); this.MenuPrincipal.Items.Add(miMenuItem); AddChildItem(ref miMenuItem, dtDataTable); } } if (drDataRow[1].ToString().Contains("Evaluar Competencias") && comp && activa) { if (rolDataTable != null && rolDataTable.Rows.Count > 0) { MenuItem miMenuItem = new MenuItem(Convert.ToString(drDataRow[1]), Convert.ToString(drDataRow[0]), String.Empty, Convert.ToString(drDataRow[3])); this.MenuPrincipal.Items.Add(miMenuItem); AddChildItem(ref miMenuItem, dtDataTable); } } } } } Session["Menu"] = dsDataSet; } } catch (Exception E) { MensajeError("Ha ocurrido el siguiente error: " + E.Message + " _Metodo: " + System.Reflection.MethodBase.GetCurrentMethod().Name); } finally { if (Conexion.EstadoConexion() == ConnectionState.Open) { Conexion.CerrarCnMysql(); dtDataTable.Dispose(); dsDataSet.Dispose(); sdaSqlDataAdapter.Dispose(); } } } else { DataSet dsDataSet = new DataSet(); DataTable dtDataTable = null; CnMysql Conexion = new CnMysql(Cn); try { dsDataSet = (DataSet)Session["Menu"]; dtDataTable = dsDataSet.Tables[1]; if (dtDataTable != null && dtDataTable.Rows.Count > 0) { foreach (DataRow drDataRow in dtDataTable.Rows) { if (Convert.ToInt32(drDataRow[0]) == Convert.ToInt32(drDataRow[2])) { MySqlCommand rolCommand; if (this.Session["Externo"].ToString() == "False") { rolCommand = new MySqlCommand( "SELECT Id_Menu FROM " + bd1 + ".roles_menu WHERE (Id_Rol = " + this.Session["rol"].ToString() + " OR Id_Rol = 2)" + " AND Id_Menu = " + drDataRow[2], Conexion.ObtenerCnMysql()); } else { rolCommand = new MySqlCommand( "SELECT Id_Menu FROM " + bd1 + ".roles_menu WHERE Id_Rol = " + this.Session["rol"].ToString() + " AND Id_Menu = " + drDataRow[2], Conexion.ObtenerCnMysql()); } MySqlDataAdapter rolDataAdapter = new MySqlDataAdapter(rolCommand); DataSet rolDataSet = new DataSet(); DataTable rolDataTable = null; rolDataAdapter.Fill(rolDataSet); rolDataTable = rolDataSet.Tables[0]; if (!drDataRow[1].ToString().Contains("Gestión Desempeño") && !drDataRow[1].ToString().Contains("Evaluar Competencias")) { if (rolDataTable != null && rolDataTable.Rows.Count > 0) { MenuItem miMenuItem = new MenuItem(Convert.ToString(drDataRow[1]), Convert.ToString(drDataRow[0]), String.Empty, Convert.ToString(drDataRow[3])); this.MenuPrincipal.Items.Add(miMenuItem); AddChildItem(ref miMenuItem, dtDataTable); } } else { if (drDataRow[1].ToString().Contains("Gestión Desempeño") && objetivos && activa) { if (rolDataTable != null && rolDataTable.Rows.Count > 0) { MenuItem miMenuItem = new MenuItem(Convert.ToString(drDataRow[1]), Convert.ToString(drDataRow[0]), String.Empty, Convert.ToString(drDataRow[3])); this.MenuPrincipal.Items.Add(miMenuItem); AddChildItem(ref miMenuItem, dtDataTable); } } if (drDataRow[1].ToString().Contains("Evaluar Competencias") && comp && activa) { if (rolDataTable != null && rolDataTable.Rows.Count > 0) { MenuItem miMenuItem = new MenuItem(Convert.ToString(drDataRow[1]), Convert.ToString(drDataRow[0]), String.Empty, Convert.ToString(drDataRow[3])); this.MenuPrincipal.Items.Add(miMenuItem); AddChildItem(ref miMenuItem, dtDataTable); } } } } } } } catch (Exception E) { MensajeError("Ha ocurrido el siguiente error: " + E.Message + " _Metodo: " + System.Reflection.MethodBase.GetCurrentMethod().Name); } finally { if (Conexion.EstadoConexion() == ConnectionState.Open) { Conexion.CerrarCnMysql(); dtDataTable.Dispose(); dsDataSet.Dispose(); } } } }