protected void grvModeladorSolicitud_SelectedIndexChanged(object sender, EventArgs e)
        {
            int intCodActividad;
            int intAprobador;
            int intExiste;
            string strAprobador;
            string strBifurcacaion;
            int intCodUnidad;
            string strSi;
            string strNo;

            lblMensaje.Text = String.Empty;
            NegFlujoSolicitud NegFlujos = new NegFlujoSolicitud();
            NegSolicitud NegSolicitud = new NegSolicitud();

            GridViewRow row = grvModeladorSolicitud.SelectedRow;
            intAprobador = Convert.ToInt32(grvModeladorSolicitud.DataKeys[row.RowIndex].Values["intAprobador"]);

            intSecuencia    = Convert.ToInt32(grvModeladorSolicitud.DataKeys[row.RowIndex].Values["intSecuencia"]);
            string Rut      = Convert.ToString(grvModeladorSolicitud.DataKeys[row.RowIndex].Values["strRutUsuario"]);
            strAprobador    = Convert.ToString(grvModeladorSolicitud.DataKeys[row.RowIndex].Values["strAprobador"]);
            //strBifurcacaion = Convert.ToString(grvModeladorSolicitud.DataKeys[row.RowIndex].Values["strBifurcacaion"]);
            intCodUnidad    = Convert.ToInt32(grvModeladorSolicitud.DataKeys[row.RowIndex].Values["intCodUnidad"]);
            strSi           = Convert.ToString(grvModeladorSolicitud.DataKeys[row.RowIndex].Values["strSi"]);
            strNo           = Convert.ToString(grvModeladorSolicitud.DataKeys[row.RowIndex].Values["strNo"]);

            intExiste =   NegSolicitud.HayProcesoEjecutandoSe(intCodTipoSolicitud);

            if (!intExiste.Equals(0))
            {
                ClientScript.RegisterStartupScript(this.GetType(), "myScript", "<script>javascript: alertify.alert('ERROR : No se pueden realizar cambios en el proceso, ya que hay flujos ejecutandose');</script>");
                return;
            }

            intCodActividad = NegFlujos.BuscoCodigoActividad(intCodTipoSolicitud, intSecuencia);
            ddlActividades.SelectedIndex = intCodActividad;
            ddlUnidad.SelectedIndex = intCodUnidad;
            txtSecuenciaSi.Text = strSi;
            txtSecuenciaNo.Text = strNo;

            if (strAprobador.Equals("Si"))
            {
                chkAprobador.Checked = true;
            }
            else
            {
                chkAprobador.Checked = false;
            }

            txtSecuencia.Text = Convert.ToString(intSecuencia);
            BtnEliminar.Visible = true;
            gblAccion = "Actualizar";
        }
        protected void BtnEliminar_Click(object sender, ImageClickEventArgs e)
        {
            int intExiste;

            NegSolicitud NegSolicitud = new NegSolicitud();
            intExiste = NegSolicitud.HayProcesoEjecutandoSe(intCodTipoSolicitud);

            if (!intExiste.Equals(0))
            {
                ClientScript.RegisterStartupScript(this.GetType(), "myScript", "<script>javascript: alertify.alert('No se pueden eliminar actividades del proceso, ya que hay flujos ejecutandose');</script>");

                return;
            }

            NegFlujoSolicitud NegFlujoSolicitudElimina = new NegFlujoSolicitud();
            NegFlujoSolicitudElimina.CambiaEstado(intCodTipoSolicitud, intSecuencia);
            LoadGrid(intCodTipoSolicitud);

            ddlActividades.SelectedIndex = -1;
            ddlUnidad.SelectedIndex = -1;
            txtSecuencia.Text = String.Empty;
            chkAprobador.Checked = false;
            lblMensaje.Text = String.Empty;
        }
        protected void BtnGuardar_Click(object sender, ImageClickEventArgs e)
        {
            int intExiste;
            int intCodActividad;
            int intAprobador;

            lblMensaje.Text = String.Empty;

            NegSolicitud NegSolicitud = new NegSolicitud();
            NegAuditoria InsertarLog = new NegAuditoria();
            intExiste = NegSolicitud.HayProcesoEjecutandoSe(intCodTipoSolicitud);

            if (!intExiste.Equals(0))
            {
                ClientScript.RegisterStartupScript(this.GetType(), "myScript", "<script>javascript: alertify.alert('ERROR : No se pueden realizar cambios en el proceso, ya que hay flujos ejecutandose');</script>");

                return;
            }

            if (txtSecuencia.Text.Equals(String.Empty))
            {
               ClientScript.RegisterStartupScript(this.GetType(), "myScript", "<script>javascript: alertify.alert('Debío haber presionado el boton nuevo, para crear una nueva actividad');</script>");

               return;
            }

            if (ddlActividades.SelectedIndex.Equals(0))
            {
                ClientScript.RegisterStartupScript(this.GetType(), "myScript", "<script>javascript: alertify.alert('Debe Seleccionar una actividad');</script>");

                return;
            }

            if (ddlTipoSolicitudes.SelectedIndex.Equals(String.Empty))
            {
                ClientScript.RegisterStartupScript(this.GetType(), "myScript", "<script>javascript: alertify.alert('Debe Seleccionar un tipo de Solicitud');</script>");

                return;
            }

            if (ddlUnidad.SelectedIndex.Equals(0))
            {
                ClientScript.RegisterStartupScript(this.GetType(), "myScript", "<script>javascript: alertify.alert('Debe Seleccionar una Unidad');</script>");

                return;
            }

            if (ChkBifurcacion.Checked)
            {
                intBifurcacion = 1;
            }
            else
            {
                intBifurcacion = 0;
            }

            if (chkAprobador.Checked)
            {
                intAprobador = 1;
            }
            else
            {
                intAprobador = 0;
            }

            intSecuencia        = int.Parse(txtSecuencia.Text);
            intCodTipoSolicitud = Convert.ToInt32(ddlTipoSolicitudes.SelectedValue);
            intCodActividad     = Convert.ToInt32(ddlActividades.SelectedIndex);
            intCodUnidad        = Convert.ToInt32(ddlUnidad.SelectedIndex);
            strSecuenciaSI      = txtSecuenciaSi.Text;
            strSecuenciaNO      = txtSecuenciaNo.Text;

            NegFlujoSolicitud NegFlujoSolicitudes = new NegFlujoSolicitud();

            if (gblAccion == "Insertar")
            {
                NegFlujoSolicitudes.Insertarflujo(intSecuencia, intCodTipoSolicitud, intCodActividad, intCodUnidad, intAprobador, intBifurcacion, strSecuenciaSI, strSecuenciaNO);
                InsertarLog.InsertaAuditoria(StrRutUsuario, "MANTENEDOR DE FLUJOS ", "CREACION DE NUEVO FLUJO ", "PARA EL TIPO DE SOLICITUD " + ddlTipoSolicitudes.SelectedItem);
            }

            else
            {
                NegFlujoSolicitudes.ActualizarFlujoSolicitud(intSecuencia, intCodTipoSolicitud, intCodActividad, intCodUnidad, intAprobador, intBifurcacion, strSecuenciaSI, strSecuenciaNO);
                InsertarLog.InsertaAuditoria(StrRutUsuario, "MANTENEDOR DE FLUJOS ", "ACTUALIZACION DE FLUJO ", "PARA EL TIPO DE SOLICITUD " + ddlTipoSolicitudes.SelectedItem);
            }

            LoadGrid(intCodTipoSolicitud);

            ddlActividades.SelectedIndex = -1;
            ddlUnidad.SelectedIndex = -1;
            txtSecuencia.Text = String.Empty;
            chkAprobador.Checked = false;
            ChkBifurcacion.Checked = false;
            txtSecuenciaSi.Text = String.Empty;
            txtSecuenciaNo.Text = String.Empty;
        }