Beispiel #1
0
        /* ****************************************************************************/

        /* 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();
                    }
                }
            }
        }