protected void Page_Load(object sender, EventArgs e)
        {
            string strUsuario = this.ExtraeQueryStringCadena("u");
            string strClave = this.ExtraeQueryStringCadena("c");

            clsUsuario oUsuario = new clsUsuario();
            Usuarios objUsuario = oUsuario.GetUsuario(strUsuario, strClave);
            if (objUsuario == null)
            {
                this.MessageBox("Usuario o Contraseña Incorrecta");
                Response.Redirect("~/index.html");
            }
            else
            {
                //guarda el objeto USUARIO en la varible de SESSION
                AgregarVariableSession("oUsuario", objUsuario);
            }
        }
        private void EventoGuardar()
        {
            int linOperacion = (int)LeerVariableSesion("operacion");

            Usuarios oUsuario = new Usuarios();
            clsUsuario lstUsuarios = new clsUsuario();

            if (linOperacion == 1)        //NUEVO
            {
                oUsuario.usrCod = lstUsuarios.MaxpnUserCod() + 1;
                oUsuario.usrLogin = txtUsuario.Text;
                oUsuario.usrClave = txtClave.Text;
                oUsuario.RolCod  = Convert.ToInt32( ddlRoles.SelectedItem.Value);
                oUsuario.perCod = Convert.ToInt32( txtCodigoPersonal.Text);

                lstUsuarios.Add(oUsuario);
            }
            else                        // MODIFICAR
            {
                int linUsrCodigo = (int)LeerVariableSesion("usrCod");
                oUsuario = lstUsuarios.GetUsuario(linUsrCodigo);
                oUsuario.usrLogin = txtUsuario.Text.ToUpper();
                oUsuario.usrClave = txtClave.Text.ToUpper();
                oUsuario.RolCod = Convert.ToInt32(ddlRoles.SelectedItem.Value);
                oUsuario.perCod = Convert.ToInt32(txtCodigoPersonal.Text);

                lstUsuarios.Update(oUsuario);
            }

            try
            {
                lstUsuarios.SaveChanges();
                lblMensajes.Visible = true;
                lblMensajes.Text = "El registro se Grabo Satisfactoriamente.";
                pnlEditUsuarios.Visible = false;
                pnlUsuarios.Visible = true;
                pnlPersonal.Visible = false ;
                this.MessageBox("El registro se Grabo Satisfactoriamente.");
                EventoActualizaGrilla();
            }
            catch (Exception ex)
            {

                lblMensajes.Visible = true;
                lblMensajes.Text = ex.Message;
                this.MessageBox(ex.Message);
            }
        }
        protected void gvwUsuarios_RowCommand1(object sender, GridViewCommandEventArgs e)
        {
            //presiona BOTON MODIFICAR EN GRILLA
            if (e.CommandName == "SeleccionaUsuario")
            {

                int linUsrCodigo;
                linUsrCodigo = Convert.ToInt32(e.CommandArgument);

                AgregarVariableSession("usrCod", linUsrCodigo);

                Usuarios oUsuario = new Usuarios();
                clsUsuario lstUsuarios = new clsUsuario();

                oUsuario = lstUsuarios.GetUsuario(linUsrCodigo);
                if (oUsuario != null)
                {
                    txtCodigo.Text = linUsrCodigo.ToString();
                    txtUsuario.Text = oUsuario.usrLogin;
                    txtClave.Text = oUsuario.usrClave;
                    txtCodigoPersonal.Text = oUsuario.Personal.perCod.ToString();
                    txtNombre.Text = oUsuario.Personal.perNombres;
                    txtApePaterno.Text = oUsuario.Personal.perApellidoPat;
                    txtApeMaterno.Text = oUsuario.Personal.perApellidoMat;

                    ListItem liElegido;
                    //si DropDownList está visible
                    if (ddlRoles.Items.Count > 0)
                    {
                        liElegido = ddlRoles.Items.FindByValue(oUsuario.RolCod.ToString());
                        ddlRoles.SelectedIndex = ddlRoles.Items.IndexOf(liElegido);
                    }

                    //MODIFICAR , se guarda en variable cache
                    AgregarVariableSession("operacion", 2);
                    pnlEditUsuarios.Visible = true;
                    pnlPersonal.Visible = false;
                    lblMensajes.Visible = false;
                }

            }
            //presiona BOTON ELIMINAR EN GRILLA
            if (e.CommandName == "EliminaUsuario")
            {
                int linPerCodigo;

                linPerCodigo = Convert.ToInt32(e.CommandArgument);
                EventoEliminar(linPerCodigo);

            }
        }