private void CreaMenuHijo(int idMenu, Node menuPadre)
 {
   try
   {
     IList<co_ca_menu> listMenuHijos = new bf_ca_menu().GetData(new co_ca_menu { id_menupadre = idMenu,men_activo = TiposBases.EstadoRegistro.ACT});
     if (listMenuHijos.Any())
     {
       foreach (co_ca_menu hijo in listMenuHijos)
       {
         Node nodeMenuHijo = new Node { Text = hijo.men_nombre, IconCls = "#Application" };
         menuPadre.Children.Add(nodeMenuHijo);
         IList<co_ca_menu> listMenuHijoHijo = new bf_ca_menu().GetData(new co_ca_menu { id_menupadre = hijo.id_menu });
         if (listMenuHijoHijo.Any())
         {
           CreaMenuHijo(hijo.id_menu, nodeMenuHijo);
         }
         else
         {
           nodeMenuHijo.Leaf = true;
         }
       }
     }
   }
   catch (Exception ex)
   {
     Mensajes.Error(ex.Message);
   }
 }
 private void CargarMenuPadre()
 {
   try
   {
     Node root = new Node { Text = "Menus" };
     treeMenu.Root.Add(root);
     IList<co_ca_menu> listMenu = new bf_ca_menu().GetData(new co_ca_menu { id_menupadre = -1,men_activo = TiposBases.EstadoRegistro.ACT});
     if (listMenu.Any())
     {
       foreach (co_ca_menu menuPadre in listMenu)
       {
         IList<co_ca_menu> listMenuHijos = new bf_ca_menu().GetData(new co_ca_menu { id_menupadre = menuPadre.id_menu });
         if (listMenuHijos.Any())
         {
           Node nodeMenuPadre = new Node { Text = menuPadre.men_nombre, IconCls = "#Application" };
           root.Children.Add(nodeMenuPadre);
           CreaMenuHijo(menuPadre.id_menu, nodeMenuPadre);
         }
       }
     }
   }
   catch (Exception ex)
   {
     Mensajes.Error(ex.Message);
   }
 }
    public void OnRefreshData_st_grilla(object sender, StoreReadDataEventArgs e)
    {
      int start = e.Start;
      int limit = NumInt.Init(e.Parameters.GetParameter("limit").Value);
      limit = limit == 0 ? e.Limit : limit;
      int page = (start / limit) + 1;

      co_ca_menu_no Nomina = new co_ca_menu_no();

      Nomina.Pagina = page;
      Nomina.RegistrosPorPaginas = e.Limit;
      Nomina.ColumnaOrden = e.Sort[0].Property;
      Nomina.OrdenColumna =
        (FwpDataGridDataBound.Orden)
        Enum.Parse(typeof(FwpDataGridDataBound.Orden), e.Sort[0].Direction.ToString(), true);

      IList<object> lista = new List<object>();

      AgregarFiltros_st_grilla(ref Nomina);

      Nomina<co_ca_menu_no> data = new bf_ca_menu().GetNomina(Nomina);

      foreach (co_ca_menu_no n in data.DataSource)
      {
        lista.Add(
            new
            {
              id_menu = n.id_menu,
              id_menupadre = n.id_menupadre,
              men_nombre = n.men_nombre,
              men_url = n.men_url,
              id_tipoventana = n.id_tipoventana,
              id_opcion = n.id_opcion,
              op_opcion = n.op_opcion,
              id_sistema = n.id_sistema,
              men_opciones = n.men_opciones,
              men_ancho = n.men_ancho,
              men_alto = n.men_alto,
              men_orden = n.men_orden,
              men_activo = n.men_activo,
              men_nombreventana = n.men_nombreventana,

            });
      }

      st_grilla.DataSource = lista;
      (st_grilla.Proxy[0] as PageProxy).Total = data.Registros;
      st_grilla.DataBind();
    }
 private void CompletarValores(int idMenu)
 {
   try
   {
     co_ca_menu menu = new bf_ca_menu().GetData(idMenu);
     txtNombreMenu.Text = menu.men_nombre;
     cmbMenuPadre.SetValueAndFireSelect(menu.id_menupadre);
     chkVigente.Value = EstadosRegistros.ConvertirABool(menu.men_activo);
     txtOrden.Text = menu.men_orden.ToString();
   }
   catch (Exception ex)
   {
     Mensajes.Error(ex.Message);
   }
 }
    private void CompletarValores(string k)
    {
      co_ca_menu obj = new bf_ca_menu().GetData(Convert.ToInt32(k));
      num_id_menupadre.Text = obj.id_menupadre.ToString();
      txt_men_nombre.Text = obj.men_nombre;
      txt_men_url.Text = obj.men_url;
      num_id_tipoventana.Text = obj.id_tipoventana.ToString();
      num_id_opcion.Text = obj.id_opcion.id.ToString();
      num_id_sistema.Text = obj.id_sistema.ToString();
      txt_men_opciones.Text = obj.men_opciones;
      num_men_ancho.Text = obj.men_ancho.ToString();
      num_men_alto.Text = obj.men_alto.ToString();
      num_men_orden.Text = obj.men_orden.ToString();
      chk_men_activo.Value = ConvertirEstadosRegistros(obj.men_activo);
      txt_men_nombreventana.Text = obj.men_nombreventana;

    }
 /// <summary>
 /// Metodo que se encargara de Obtener Todos los Acceso que puede tener ese Usuario Con ese Perfil
 /// </summary>
 protected void ConfigurarEscritorio()
 {
   try
   {
     //Coloco el Nombre de Usuario y Nombre de la Persona Logueada
     dskPrincipal.StartMenu.Title = FWPConfiguration.get_Cons_User(Session.SessionID) + ", " +
                                    FWPConfiguration.get_Name_Person(Session.SessionID).Replace("%20", " ");
     co_ca_menu menu = new co_ca_menu();
     menu.id_perfil = FWPConfiguration.get_Perfil(Session.SessionID);
     menu.id_usuario = FWPConfiguration.get_ID_User(Session.SessionID);
     IList<co_ca_menu> listMenu = new bf_ca_menu().GetMenuEscritorio(menu);
     CargaMenuPadre(listMenu);
     //CargaMenuTemp(listMenu);
     CargaPerfiles(null, null);
   }
   catch (Exception ex)
   {
     Mensajes.Error(ex.Message);
   }
 }
    protected void OnReadData_st_grilla(object sender, StoreReadDataEventArgs e)
    {
      try
      {
        int start = e.Start;
        int limit = NumInt.Init(e.Parameters.GetParameter("limit").Value);
        limit = limit == 0 ? e.Limit : limit;
        int page = (start / limit) + 1;

        co_ca_menu_no nomina = new co_ca_menu_no();

        nomina.Pagina = page;
        nomina.RegistrosPorPaginas = limit;
        nomina.ColumnaOrden = e.Sort[0].Property;
        nomina.OrdenColumna = (FwpDataGridDataBound.Orden)
          Enum.Parse(typeof(FwpDataGridDataBound.Orden), e.Sort[0].Direction.ToString(), true);

        IList<object> lista = new List<object>();

        AgregarFiltros_st_grilla(ref nomina);

        Nomina<co_ca_menu_no> data = new bf_ca_menu().GetNomina(nomina);

        foreach (co_ca_menu_no n in data.DataSource)
        {
          lista.Add(
              new
              {
                id_menu = n.id_menu,
                men_nombre = n.men_nombre,
                id_menupadre = n.id_menupadre,
                men_url = n.men_url,
                men_opciones = n.men_opciones,
                men_ancho = n.men_ancho,
                men_alto = n.men_alto,
                men_orden = n.men_orden,
                men_activo = n.men_activo,
                men_nombreventana = n.men_nombreventana,
              });
        }

        st_grilla.DataSource = lista;
        st_grilla.PageSize = limit;
        PageProxy pageProxy = st_grilla.Proxy[0] as PageProxy;
        if (pageProxy != null) pageProxy.Total = data.Registros;
        st_grilla.DataBind();
      }
      catch (Exception ex)
      {
        Mensajes.Error(ex.Message);
      }
    }
    protected void btnGuardar_Click(object sender, DirectEventArgs e)
    {
      try
      {
        int idMenu = hid_id.Text.ValidaEntero(hid_id.FieldLabel);
        string mensaje;
        string nombreVentana = ObtenerNombreVentana(txtNombreMenu.Text);
        co_ca_menu menu = new co_ca_menu();

        if (idMenu != 0)
        {
          menu = new bf_ca_menu().GetData(idMenu);
          mensaje = ErrorText.REGISTRO_MODIFICADO;
        }
        else
        {
          mensaje = ErrorText.REGISTRO_INGRESADO;
        }

        menu.men_nombre = txtNombreMenu.Text;
        menu.id_menupadre = cmbMenuPadre.SelectedItem.Value.ValidaEntero(cmbMenuPadre.FieldLabel);
        menu.men_url = txtUrl.Text;
        menu.men_opciones = txtOpciones.Text;
        menu.men_alto = txtAlto.Text.ValidaEntero(txtAlto.FieldLabel);
        menu.men_ancho = txtAncho.Text.ValidaEntero(txtAncho.FieldLabel);
        menu.men_orden = txtOrden.Text.ValidaEntero
          (txtOrden.FieldLabel);
        menu.men_activo = EstadosRegistros.ConvertirAEstadosRegistros(chkVigente.Value);
        menu.men_nombreventana = nombreVentana;

        new bf_ca_menu().Save(menu);

        Mensajes.Show("Mensaje", mensaje, "CloseIframe();", MessageBox.Icon.INFO);
      }
      catch (Exception ex)
      {
        Mensajes.Error(ex.Message);
      }
    }
 protected void ComboMenuPadre()
 {
   try
   {
     IList<co_ca_menu> listMenu = new bf_ca_menu().GetMenuPadre();
     listMenu.Add(new co_ca_menu {id_menu = -1, men_nombre = "Raíz del Menú"});
     strCmbMenuPadre.DataSource = listMenu.OrderBy(c => c.id_menu);
     strCmbMenuPadre.DataBind();
   }
   catch (Exception ex)
   {
     Mensajes.Error(ex.Message);
   }
 }
    protected void btnBorrar_Click(object sender, DirectEventArgs e)
    {
      //se dejara con estado vigente=false
      try
      {
        int idMenu = hid_id.Text.ValidaEntero(hid_id.FieldLabel);
        co_ca_menu menu = new bf_ca_menu().GetData(idMenu);
        menu.men_activo = TiposBases.EstadoRegistro.DES;
        new bf_ca_menu().Save(menu);

        Mensajes.Show("Mensaje", ErrorText.REGISTRO_BORRADO, MessageBox.Icon.INFO);
      }
      catch (Exception ex)
      {
        Mensajes.Error(ex.Message);
      }
    }
    public void click_btn_guardar(object sender, DirectEventArgs e)
    {
      try
      {

        string Tmensaje = "Registro agregado";

        co_ca_menu obj = new co_ca_menu();
        if (hid_id.Text != "0")
        {
          obj = new bf_ca_menu().GetData(Convert.ToInt32(hid_id.Text));
          Tmensaje = "Registro modificado";
        }
        obj.id_menupadre = NumInt.Init(num_id_menupadre.Text);
        obj.men_nombre = txt_men_nombre.Text;
        obj.men_url = txt_men_url.Text;
        obj.id_tipoventana = Convert.ToInt32(num_id_tipoventana.Text);
        obj.id_opcion.id = Convert.ToInt32(num_id_opcion.Text);
        obj.id_sistema = Convert.ToInt32(num_id_sistema.Text);
        obj.men_opciones = txt_men_opciones.Text;
        obj.men_ancho = Convert.ToInt32(num_men_ancho.Text);
        obj.men_alto = Convert.ToInt32(num_men_alto.Text);
        obj.men_orden = Convert.ToInt32(num_men_orden.Text);
        obj.men_activo = ConvertirBool(chk_men_activo.Value);
        obj.men_nombreventana = txt_men_nombreventana.Text;

        if (hid_id.Text == "0")
        {
          panelCenter.Reset();
        }

        obj = new bf_ca_menu().Save(obj);

        //

        mensaje("mantenedor", Tmensaje, MessageBox.Icon.INFO);
      }
      catch (Exception ex)
      {
        mensaje("Error", ex.Message, MessageBox.Icon.ERROR);
      }
    }