/// <summary>
        /// Metodo que deshabilitar un cliente
        /// </summary>
        private void deshabilitaClienteProceso()
        {
            RetornoOperacion retorno = new RetornoOperacion();

            //Instanciamos la clase con el id del registro que vamos a deshabilitar
            using (SAT_CL.Facturacion.ClienteProceso cp = new SAT_CL.Facturacion.ClienteProceso((int)Session["id_registro"]))
            {
                //Deshabilitampos el registro
                retorno = cp.DeshabilitaClienteProceso(((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario);
            }

            //Si la operacion fue exitosa
            if (retorno.OperacionExitosa)
            {
                //Deshabilitamos registros que contienen los dias de revision ligados al registro del cliente deshabilitado
                SAT_CL.Facturacion.ProcesoDias.DeshabilitaRegistrosLigadosAUnCliente((int)Session["id_registro"], ((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario);
                //Asignamos el estado de nuevo a la variable estatus de sesion
                Session["estatus"] = Pagina.Estatus.Nuevo;
                //A la variable de id registro le asignamos el valor de 0
                Session["id_registro"] = 0;
                //Invocamos al metodo inicializa forma
                inicializaForma();
            }

            TSDK.ASP.ScriptServer.MuestraNotificacion(this, retorno, ScriptServer.PosicionNotificacion.AbajoDerecha);
        }
        /// <summary>
        /// Metodo que se encarga de inicializar valores de la forma
        /// </summary>
        private void inicializaValores()
        {
            //Obtiene el estado de la pagina
            switch ((Pagina.Estatus)Session["estatus"])
            {
            //Si el estado es de nuevo
            case Pagina.Estatus.Nuevo:
            {
                txtCliente.Text     = "";
                txtSecuencia.Text   = "";
                txtDescripcion.Text = "";
                txtContacto.Text    = "";

                rdbDiasSemana.Checked       = true;
                ddlDiasSemana.SelectedValue = "1";
                txtDiaMes.Text      = "";
                txtHoraInicio.Text  = "";
                txtHoraTermino.Text = "";

                cargaDiasRevision();
                break;
            }

            //Si el estado es de lectura y edicion
            case Pagina.Estatus.Lectura:
            case Pagina.Estatus.Edicion:
            {
                using (SAT_CL.Facturacion.ClienteProceso cp = new SAT_CL.Facturacion.ClienteProceso((int)Session["id_registro"])){
                    txtCliente.Text = cp.nombreCliente.ToString();
                    ddlTipoProceso.SelectedValue = cp.id_tipo_proceso.ToString();
                    txtSecuencia.Text            = cp.secuencia.ToString();
                    txtDescripcion.Text          = cp.descripcion.ToString();
                    txtContacto.Text             = cp.contacto.ToString();
                }

                txtDiaMes.Text      = "";
                txtHoraInicio.Text  = "";
                txtHoraTermino.Text = "";
                if (Convert.ToInt32(Session["estatus"]) == 3)
                {
                    verificaDiaSemanaODiaMes();
                }

                cargaDiasRevision();

                break;
            }
            }
        }
        /// <summary>
        /// Metodo que se encarga de guardar un cliente casignandole un proceso
        /// </summary>
        private void guardaClienteProceso()
        {
            RetornoOperacion retorno = new RetornoOperacion();

            //Obtenemos el estado de la pagina
            switch ((Pagina.Estatus)Session["estatus"])
            {
            //Si el estado es de nuevo
            case Pagina.Estatus.Nuevo:
            {
                //Insertamos un registro
                retorno = SAT_CL.Facturacion.ClienteProceso.InsertaClienteProceso(Convert.ToInt32(TSDK.Base.Cadena.RegresaCadenaSeparada(txtCliente.Text, "ID:", 1)), Convert.ToInt32(ddlTipoProceso.SelectedValue), ((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario, Convert.ToByte(txtSecuencia.Text), txtDescripcion.Text, txtContacto.Text);
                break;
            }

            //Si el estado es de edicion
            case Pagina.Estatus.Edicion:
            {
                //Instanciamos clase con el id de registro que se va a editar
                using (SAT_CL.Facturacion.ClienteProceso cp = new SAT_CL.Facturacion.ClienteProceso((int)Session["id_registro"]))
                {
                    //Editamos registro
                    retorno = cp.ActualizaRegistroBD(Convert.ToInt32(TSDK.Base.Cadena.RegresaCadenaSeparada(txtCliente.Text, "ID:", 1)), Convert.ToInt32(ddlTipoProceso.SelectedValue), ((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario, Convert.ToByte(txtSecuencia.Text), txtDescripcion.Text, txtContacto.Text);
                }
                break;
            }
            }

            if (retorno.OperacionExitosa)
            {
                //Asigna a la variable estatus el estado de lectura
                Session["estatus"] = Pagina.Estatus.Lectura;
                //La variable id_registro se le asigna el id generado en la base de datos
                Session["id_registro"] = retorno.IdRegistro;
                //Invoca al método inicializaForma
                inicializaForma();
            }

            TSDK.ASP.ScriptServer.MuestraNotificacion(this, retorno, ScriptServer.PosicionNotificacion.AbajoDerecha);
        }