protected void btnLogout_Click(object sender, ImageClickEventArgs e)
        {
            StrRutUsuario = Convert.ToString(Session["strRutUsuario"]);
            NegAuditoria InsertarLog = new NegAuditoria();
            InsertarLog.InsertaAuditoria(StrRutUsuario, "LOGOUT", "ABANDONA EL SISTEMA ", "EL USUARIO ABANDONA EL SISTEMA WORKFLOW SOLICITUDES COMO " + StrRutUsuario);

            Session.Abandon();
            Session.Clear();
            Response.Redirect("Login.aspx");
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            NegFlujoSolicitud   NegFlujoSolicitud = new NegFlujoSolicitud();
            NegDetalleSolicitud NegDatellSolicitud = new NegDetalleSolicitud();

            if (!Page.IsPostBack)
            {
                Funciones FuncionesDesencriptar = new Funciones();

                if (!(FuncionesDesencriptar.Decrypt(HttpUtility.UrlDecode(Request.QueryString["Folio"]))).Equals("Error_Autorizacion"))
                    intFolioSolicitud = Convert.ToInt32(FuncionesDesencriptar.Decrypt(HttpUtility.UrlDecode(Request.QueryString["Folio"])));
                else
                {
                    Response.Redirect("PageError.aspx?TypeError=Error_Autorizacion");
                }
                if (!(FuncionesDesencriptar.Decrypt(HttpUtility.UrlDecode(Request.QueryString["RutResponsable"]))).Equals("Error_Autorizacion"))
                    StrRutResponsable = FuncionesDesencriptar.Decrypt(HttpUtility.UrlDecode(Request.QueryString["RutResponsable"]));
                else
                {
                    Response.Redirect("PageError.aspx?TypeError=Error_Autorizacion");
                }

                if (!(FuncionesDesencriptar.Decrypt(HttpUtility.UrlDecode(Request.QueryString["Secuencia"]))).Equals("Error_Autorizacion"))
                    intSecuencia = Convert.ToInt32(FuncionesDesencriptar.Decrypt(HttpUtility.UrlDecode(Request.QueryString["Secuencia"])));
                else
                {
                    Response.Redirect("PageError.aspxTypeError=Error_Autorizacion");
                }

                lblFolio.Text = FuncionesDesencriptar.Decrypt(HttpUtility.UrlDecode(Request.QueryString["Folio"]));

                ConsultaSolicitudFolio(Convert.ToInt32(lblFolio.Text));
                lblActividad.Text = ConsultaActividad(intSecuencia, intCodTipoSolicitud);
                lblActividadResolver.Text = lblActividad.Text;
                NegDatellSolicitud.ActualizaFechaTomaActividad(intFolioSolicitud, intSecuencia, StrRutResponsable);

                NegAuditoria InsertarLog = new NegAuditoria();
                InsertarLog.InsertaAuditoria(StrRutResponsable, "RESUELVE", "ACCEDE A RESOLVER ACTIVIDAD", "ACTIVIDAD A RESOLVER ES " + lblActividad.Text + "PARA EL FOLIO :" + lblFolio.Text);

                NegFlujoSolicitud DatosDelFlujoActividadActual = new NegFlujoSolicitud();
                LstFlujoSolicitud = NegFlujoSolicitud.SelectDatoActividad(intCodTipoSolicitud, intSecuencia);

                foreach (FlujoSolicitud ActividadActual in LstFlujoSolicitud)
                    {
                        strSecuenciaSi  = ActividadActual.strSi.Trim();
                        strSecuenciaNo  = ActividadActual.strNo.Trim();
                        intAprobador    = ActividadActual.intAprobador;
                    }

                if (strSecuenciaNo.Equals(String.Empty)) // Me indica si muestro el SI o el NO
                {
                    RbtSI.Visible      = false;
                    RbtNO.Visible      = false;
                    lblAprobar.Visible = false;
                }

                if (strSecuenciaSi.Equals("0"))
                {
                    RbtSI.Visible = false;
                    RbtNO.Visible = false;
                    lblAprobar.Visible = false;
                }

               if (strSecuenciaNo.Equals("0") && (strSecuenciaSi.Equals("0")))
                {
                    RbtSI.Visible = false;
                    RbtNO.Visible = false;
                    lblAprobar.Visible = false;
                }

                mostrar_Historial(intFolioSolicitud);
                NegTipoSolicitud CantMaxDocumentos = new NegTipoSolicitud();
                intCantMaxDocumentos = CantMaxDocumentos.ObtenerCantMaxDocByTipoSolicitud(intCodTipoSolicitud);

                NegAdjuntos Adjuntos = new NegAdjuntos();
                int ExistenAdjuntos = Adjuntos.ExistirianAdjutnos(intFolioSolicitud);

                if (!ExistenAdjuntos.Equals(0))
                {
                    HypAdjuntos.Text        = "Ver documetos adjuntos asociados a la solicitud";
                    HypAdjuntos.NavigateUrl = "VerAdjuntos.aspx?Folio=" + intFolioSolicitud + "&Tipo=S";

                }
                else
                {
                    HypAdjuntos.Text = String.Empty;
                    HypAdjuntos.Visible = false;
                }

                if (strOrigen.Equals("E"))
                {
                    lblrut.Text = StrRutAlumno;
                    lee_alumnos(StrRutAlumno);
                }
                else
                {
                    lblrut.Text = StrRutAlumno;
                    NegUsuario ObtenerUsuario = new NegUsuario();
                    LstUsuarios = ObtenerUsuario.ObtenerUsuarioPorRut(StrRutAlumno);

                    foreach (Usuario Usuarios in LstUsuarios)
                    {
                        StringBuilder strnombre = new StringBuilder();
                        strnombre.Append(Usuarios.strNombre);
                        strnombre.Append(" ");
                        strnombre.Append(Usuarios.strApellido);

                        lblNombre.Text = strnombre.ToString();
                    }
                }
            }
        }
        protected void BtnCompletar_Click(object sender, EventArgs e)
        {
            NegAuditoria         InsertarLog       = new NegAuditoria();
            NegFlujoSolicitud    NegFlujoSolicitud = new NegFlujoSolicitud();
            NegDetalleSolicitud ResuelveActividad  = new NegDetalleSolicitud();

            if (txtResolucion.Text.Equals(String.Empty))
            {
               ClientScript.RegisterStartupScript(this.GetType(), "myScript", "<script>javascript: alertify.alert('Debe ingresar un comentario u observacion al respecto');</script>");
               return;
            }

            if (!strSecuenciaNo.Equals(String.Empty))
            {
                if ((!strSecuenciaNo.Equals("0")) && (!strSecuenciaNo.Equals("0")))
                {
                    if ((!RbtSI.Checked) && (!RbtNO.Checked))
                    {
                        ClientScript.RegisterStartupScript(this.GetType(), "myScript", "<script>javascript: alertify.alert('Debe selecionar SI  ó NO para aprobar o rechazar la Actividad');</script>");
                        return;
                    }
                }

            }

            if (RbtSI.Checked)
            {
                intCodEstadSol = 2;
                intCodEstadoAct = 8;
                strAprobadaAuditoria = "APROBADA";
                strSiguienteSecuencia = strSecuenciaSi;
                InsertarLog.InsertaAuditoria(StrRutResponsable, "RESUELVE", "RESUELVE LA ACTIVIDAD ", "ACTIVIDIDAD APROBADA " + lblActividad.Text + "PARA EL FOLIO :" + lblFolio.Text);
            }

            if (RbtNO.Checked)
            {
                intCodEstadSol = 3;
                strRechazadaAuditoria = "RECHAZADA";
                strSiguienteSecuencia = strSecuenciaNo;
                intCodEstadoAct = 8;

                if (strSecuenciaNo.Equals("0"))
                {
                    ResuelveActividad.CierraProceso(intFolioSolicitud, intSecuencia, intCodEstadSol, intCodEstadoAct, txtResolucion.Text);
                   InsertarLog.InsertaAuditoria(StrRutResponsable, "RESUELVE", "RESUELVE LA ACTIVIDAD ", "ACTIVIDIDAD RECHAZADA " + lblActividad.Text + "PARA EL FOLIO :" + lblFolio.Text);
                   Response.Redirect("ListaDeTareas.aspx?StrRutUsuario=" + StrRutResponsable);
                }
            }

            if (strSecuenciaNo.Equals("0") && (strSecuenciaSi.Equals("0")))
            {
                intCodEstadoAct = 8;
                intCodEstadSol = 2;
                ResuelveActividad.CierraProceso(intFolioSolicitud, intSecuencia, intCodEstadSol, intCodEstadoAct, txtResolucion.Text);
                InsertarLog.InsertaAuditoria(StrRutResponsable, "RESUELVE", "RESUELVE LA ACTIVIDAD ", "SE COMPLETA LA " + lblActividad.Text + "SE TERMINA EL FLUJO PARA SOLICITUD " + lbltipoSolicitud.Text + " PARA EL FOLIO :" + lblFolio.Text);
                Response.Redirect("ListaDeTareas.aspx?StrRutUsuario=" + StrRutResponsable);
            }

            if (RbtSI.Checked == false && RbtNO.Checked == false)
            {
                intCodEstadoAct = 8;
                strSiguienteSecuencia = strSecuenciaSi;
                strContinuaAuditoria = "CONTINUA";
            }

            NegAdjuntos NegAdjuntos = new NegAdjuntos();
            foreach (Adjuntos Adjunto in LstAdjuntos)
            {

                NegAdjuntos.AltaAdjuntos(intFolioSolicitud, Adjunto.strNombreArchivo, Adjunto.bteArchivoPdf, "A", intSecuencia);
            }

            LstAdjuntos.Clear();
            grvAdjunto.DataSource = null;
            grvAdjunto.DataBind();

            strGlosaDetalleSol = txtResolucion.Text;
            LstFlujoSolicitud = NegFlujoSolicitud.SelectDatoActividad(intCodTipoSolicitud, Convert.ToInt32(strSiguienteSecuencia));

            if (LstFlujoSolicitud.Count.Equals(0))
            {
                BolExisteSiguienteFlujo = false;
            }
            else
            {
                BolExisteSiguienteFlujo = true;
                foreach (FlujoSolicitud ActividadActual in LstFlujoSolicitud)
                {
                    intCodActividad = ActividadActual.intCodActividad;
                    intCodUnidad    = ActividadActual.intCodUnidad;
                }
            }

            if (BolExisteSiguienteFlujo)
            {
                ResuelveActividad.ResuelveActividadFlujo(intFolioSolicitud, intSecuencia, intCodTipoSolicitud, intCodEstadoAct, strGlosaDetalleSol, intCodActividad, intCodUnidad, Convert.ToInt32(strSiguienteSecuencia));
            }
            else
            {
                if (strSecuenciaNo.Equals("0") && (strSecuenciaSi.Equals("0")))
                {
                    intCodEstadSol = 2;
                    intCodEstadoAct = 8;
                }

                ResuelveActividad.CierraProceso(intFolioSolicitud, intSecuencia, intCodEstadSol, intCodEstadoAct, strGlosaDetalleSol);
            }

            InsertarLog.InsertaAuditoria(StrRutResponsable, "RESUELVE", "RESUELVE LA ACTIVIDAD ", "ACTIVIDIDAD RESUELTA " + lblActividad.Text + "PARA EL FOLIO :" + lblFolio);
            Response.Redirect("ListaDeTareas.aspx?StrRutUsuario=" + StrRutResponsable);
        }
 protected void BtnCancelar_Click(object sender, EventArgs e)
 {
     Response.Redirect("ListaDeTareas.aspx?StrRutUsuario=" + StrRutResponsable);
     NegAuditoria InsertarLog = new NegAuditoria();
     InsertarLog.InsertaAuditoria(StrRutResponsable, "RESUELVE", "ABANDONA LA ACTIVIDAD", "ABANDONA LA ACTIVIDAD SIN RESOLVERLA " + lblActividad.Text + "PARA EL FOLIO :" + lblFolio.Text);
 }
        protected void btnInsertarTS_Click(object sender, ImageClickEventArgs e)
        {
            int IntEstado;
            NegAuditoria InsertarLog = new NegAuditoria();

            if (ChkEstado.Checked)
            {
            IntEstado = 1;
            } else
            {
            IntEstado = 0;
            }

            if(ddlOrigenSolicitud.Text.Equals("0") ){

            ClientScript.RegisterStartupScript(this.GetType(), "myScript", "<script>javascript: alertify.alert('ERROR : Ingrese El Origen de la Solicitud');</script>");

            return;
            }

            if (!Validar(txtDescripcionTS.Text))//envias el textbox que quieres comprobar
            {
            ClientScript.RegisterStartupScript(this.GetType(), "myScript", "<script>javascript: alertify.alert('ERROR : Debe ingresar descripción');</script>");

            }
            else
            {

            if (!Validar(txtFechaInicio.Text))
            {

                ClientScript.RegisterStartupScript(this.GetType(), "myScript", "<script>javascript: alertify.alert('ERROR : Debe ingresar Fecha de inicio');</script>");

            }
            else
            {
                if (!Validar(txtFechaFin.Text))
                {

                    ClientScript.RegisterStartupScript(this.GetType(), "myScript", "<script>javascript: alertify.alert('ERROR : Debe ingresar Fecha de termino');</script>");

                }
                else
                {

                    NegTipoSolicitud NegAct = new NegTipoSolicitud();

                    if (gblAccion.Equals("Insertar"))
                    {
                        if (NegAct.AltaTipoSolicitud(txtDescripcionTS.Text,
                                                 IntEstado,
                                                 DateTime.Parse(txtFechaInicio.Text),
                                                 DateTime.Parse(txtFechaFin.Text),
                                                 int.Parse(txtCantidadSol.Text),
                                                 ddlOrigenSolicitud.Text,
                                                 int.Parse(txtCantMaxDoc.Text)) > 0)

                            InsertarLog.InsertaAuditoria(StrRutUsuario, "MANTENEDOR DE TIPO DE SOLICITUDES", "CREAR NUEVO TIPO DE SOLICITUD ", "SE CREA EL TIPO DE SOLICITUD" +txtDescripcionTS.Text);
                        {
                            LoadGrid();

                            ClientScript.RegisterStartupScript(this.GetType(), "myScript", "<script>javascript: alertify.alert('Se ingreso correctamente');</script>");

                            txtCantidadSol.Text = String.Empty;
                            ChkEstado.Checked = false;
                        }

                    }

                    if (gblAccion.Equals("Actualizar"))
                    {
                        (new NegTipoSolicitud()).ActualizarTipoSolicitud(intCodTipoSolicitud, txtDescripcionTS.Text, IntEstado, DateTime.Parse(txtFechaInicio.Text), DateTime.Parse(txtFechaFin.Text), int.Parse(txtCantidadSol.Text), ddlOrigenSolicitud.Text, int.Parse(txtCantMaxDoc.Text));
                        InsertarLog.InsertaAuditoria(StrRutUsuario, "MANTENEDOR DE TIPO DE SOLICITUDES", "ACTUALIZAR TIPO DE SOLICITUD ", "SE ACTUALIZO" +txtDescripcionTS.Text);

                    }

                    grvTipoSolicitud.EditIndex = -1;
                    LoadGrid();
                    ClientScript.RegisterStartupScript(this.GetType(), "myScript", "<script>javascript: alertify.alert('Se actualizó correctamente');</script>");

                }

            }
             }
        }
        protected void btnGrabarUsuario_Click(object sender, EventArgs e)
        {
            int   intEstadoUsuario;
            int   intCodRol=0;
            int   intCodUnidad = 0;
            string strDepende = String.Empty;

            if (ddlRol.SelectedIndex.Equals(0))
            {
                ClientScript.RegisterStartupScript(this.GetType(), "myScript", "<script>javascript: alertify.alert('ERROR : Debe seleccionar un rol');</script>");

                return;
            }

            if (txtRut.Text.Equals(String.Empty))
            {
                ClientScript.RegisterStartupScript(this.GetType(), "myScript", "<script>javascript: alertify.alert('ERROR: Ingrese Rut del usuario');</script>");
                return;
            }

            if (txtNombre.Text.Equals(String.Empty))
            {
                ClientScript.RegisterStartupScript(this.GetType(), "myScript", "<script>javascript: alertify.alert('ERROR: Ingrese el nombre del usuario');</script>");

                return;
            }

            if (txtApellido.Text.Equals(String.Empty))
            {
                ClientScript.RegisterStartupScript(this.GetType(), "myScript", "<script>javascript: alertify.alert('ERROR: Ingrese el apellido del usuario');</script>");

                return;
            }
            if (txtApellido.Text.Equals(String.Empty))
            {
                ClientScript.RegisterStartupScript(this.GetType(), "myScript", "<script>javascript: alertify.alert('ERROR: Ingrese el apellido del usuario');</script>");

                return;
            }

            if (txtEmail.Text.Equals(String.Empty))
            {
                ClientScript.RegisterStartupScript(this.GetType(), "myScript", "<script>javascript: alertify.alert('ERROR: Ingrese el Mail del usuario');</script>");

                return;
            }

            if (ddlUnidad.SelectedIndex.Equals(0))
            {
                ClientScript.RegisterStartupScript(this.GetType(), "myScript", "<script>javascript: alertify.alert('ERROR: Ingrese la unidad de negocio a cual pertenece');</script>");
                return;
            }

            if (ddlUsuario.SelectedIndex.Equals(0))
            {
                ClientScript.RegisterStartupScript(this.GetType(), "myScript", "<script>javascript: alertify.alert('ERROR: Ingrese el usuario del cual depende o Jefe');</script>");
                return;
            }

            if (txtTelefono.Text.Equals(String.Empty))
            {
                ClientScript.RegisterStartupScript(this.GetType(), "myScript", "<script>javascript: alertify.alert('ERROR: Ingrese telefono del usuario');</script>");
                return;
            }

            int intExistePuntoRut;
            intExistePuntoRut = txtRut.Text.IndexOf(".");

            if (!intExistePuntoRut.Equals(-1))
            {

               ClientScript.RegisterStartupScript(this.GetType(), "myScript", "<script>javascript: alertify.alert('ERROR: Rut debe ser ingresado sin puntos');</script>");

               txtRut.Text = String.Empty;
                return;
            }

            int intExisteGuionRut;
            intExisteGuionRut = txtRut.Text.IndexOf("-");

            if (intExisteGuionRut.Equals(-1))
            {
                ClientScript.RegisterStartupScript(this.GetType(), "myScript", "<script>javascript: alertify.alert('ERROR: Rut debe ser ingresado con guión');</script>");
                txtRut.Text = String.Empty;
                return;
            }

            Funciones ValidaRutUsuario = new Funciones();
            if (!ValidaRutUsuario.validarRut(txtRut.Text))
            {
                ClientScript.RegisterStartupScript(this.GetType(), "myScript", "<script>javascript: alertify.alert('ERROR: Rut Invalido');</script>");
                txtRut.Text = String.Empty;
                return;
            }

            if (chkEstado.Checked)
            {
                intEstadoUsuario = 1;
            }
            else
            {
                intEstadoUsuario = 0;
            }

            intCodRol      = Convert.ToInt32(ddlRol.SelectedValue);
            intCodUnidad   = Convert.ToInt32(ddlUnidad.SelectedValue);
            strDepende     = ddlUsuario.SelectedValue;

            NegUsuario NegocioUsu = new NegUsuario();

            if (strAccion.Equals("Actualizar"))
            {
                (new NegUsuario()).ActualizaUsuario(txtRut.Text, intCodRol,txtNombre.Text, txtApellido.Text, txtEmail.Text, intEstadoUsuario, intCodUnidad, strDepende, txtTelefono.Text);

                NegAuditoria InsertarLog = new NegAuditoria();
                InsertarLog.InsertaAuditoria(strRutUsuario, "MANTENEDOR DE USUARIOS", "ACTUALIZA USAURIO", "ACTUALIZA PARA EL USUARIO " + txtRut.Text + " " + txtNombre.Text + " " + txtApellido.Text);
            }
            else
            {
                NegUsuario NegocioUsuario = new NegUsuario();
                int intExisteNomRut;
                intExisteNomRut = NegocioUsuario.select_ExisteRutUsuario_Usuar(txtRut.Text);

                if (!intExisteNomRut.Equals(0))
                {
                    ClientScript.RegisterStartupScript(this.GetType(), "myScript", "<script>javascript: alertify.alert('ERROR: Rut ya existe');</script>");

                    txtRut.Text = String.Empty;
                    return;
                }

                NegocioUsu.AltaUsuario(txtRut.Text, intCodRol, "11espacios", txtNombre.Text, txtApellido.Text, txtEmail.Text, intEstadoUsuario, intCodUnidad, strDepende, txtTelefono.Text);
                NegAuditoria InsertarLog = new NegAuditoria();
                InsertarLog.InsertaAuditoria(strRutUsuario, "MANTENEDOR DE USUARIOS", "CREACION DE USUARIO", "SE CREO EL USUARIO " + txtRut.Text + " " + txtNombre.Text + " " + txtApellido.Text );
            }

                LoadGrid();
                ClientScript.RegisterStartupScript(this.GetType(), "myScript", "<script>javascript: alertify.alert('Grabación Exitosa');</script>");

                txtRut.Text = string.Empty;
                txtNombre.Text = String.Empty;
                txtApellido.Text = String.Empty;
                txtTelefono.Text = String.Empty;
                txtEmail.Text = String.Empty;
                ddlRol.SelectedIndex = -1;
                ddlUnidad.SelectedIndex = -1;
                ddlUsuario.SelectedIndex = -1;
                chkEstado.Checked = false;
        }
        protected void BtnEnviar_Click(object sender, EventArgs e)
        {
            String strRutAlumno = strRutUsuario;
            NegSolicitud InsertaSolicitud = new NegSolicitud();
            string strPeticion;

            strPeticion = txtpeticion.Text;

            if (ddlTipoSolicitud.SelectedIndex.Equals(0))
            {
                ClientScript.RegisterStartupScript(this.GetType(), "myScript", "<script>javascript: alertify.alert('ERROR:  Debe Seleccionar un tipo de Solicitud');</script>");
                return;
            }

            intCodTipoSolicitud = Convert.ToInt32(ddlTipoSolicitud.SelectedValue);
            int intExistenSolicitudes = InsertaSolicitud.ValidaCantidadSolicitudesXTipo(intCodTipoSolicitud);

            if (intExistenSolicitudes.Equals(1))
            {
                ClientScript.RegisterStartupScript(this.GetType(), "myScript", "<script>javascript: alertify.alert('ERROR:  No tiene más solicitudes por realizar por este año, para el tipo de solicitud "  + ddlTipoSolicitud.SelectedItem + "');</script>'");
                return;
            }

            if (txtpeticion.Equals(String.Empty))
            {
                ClientScript.RegisterStartupScript(this.GetType(), "myScript", "<script>javascript: alertify.alert('ERROR: Debe Ingresar la petición de la solicitud');</script>");
                return;

            }

            String strCodCarrera = "Interna"; //Convert.ToString(DBNull.Value);
            String txtCelularContacto = "00";//Convert.ToString(DBNull.Value);

            List<Solicitud> LstSolicitud = new List<Solicitud>();
            LstSolicitud = InsertaSolicitud.Insertar_Solicitud(intCodTipoSolicitud, strRutAlumno, strCodCarrera, txtCelularContacto, strCorreo, txtpeticion.Text, "I");
            NegAuditoria InsertarLog = new NegAuditoria();
            InsertarLog.InsertaAuditoria(strRutUsuario, "NUEVA SOLICITUD INTERNA", "CREA UNA NUEVA SOLICITUD ", "EL USUARIO CREA UNA NUEVA SOLICITUD " + ddlTipoSolicitud.SelectedItem);

            ddlTipoSolicitud.SelectedIndex = -1;

            foreach (Solicitud Sol in LstSolicitud)
            {
                intFolioSolicitud = Sol.intFolio;
                dtmFechaVencSol = Sol.dtmFechaVencimientoSol;

            }

            NegAdjuntos NegAdjuntos = new NegAdjuntos();

            foreach (Adjuntos Adjunto in LstAdjuntos)
            {

                NegAdjuntos.AltaAdjuntos(intFolioSolicitud, Adjunto.strNombreArchivo, Adjunto.bteArchivoPdf, "S",0);
            }

            ClientScript.RegisterStartupScript(this.GetType(), "myScript", "<script>javascript: alertify.alert('FELICITACIONES : Su Solicitud fue elevada Exitosamente, con número de Folio " + intFolioSolicitud + " . La Fecha de resolución estimada será " + dtmFechaVencSol + "');</script>'");
        }
        protected void ValidaUsuario(object sender, ImageClickEventArgs e)
        {
            string strRutUsuario;
            string strPassword;
            LblError.Text = String.Empty;
            Funciones encriptarMD5 = new Funciones();
            TxtPassword.Text = encriptarMD5.EncriptarMD5(TxtPassword.Text);

            if (TxtUsuario.Text.Equals(String.Empty) && TxtPassword.Text.Equals(String.Empty))
            {
                ClientScript.RegisterStartupScript(this.GetType(), "myScript", "<script>javascript: alertify.alert('Ingrese Rut Usuario');</script>");
                ClientScript.RegisterStartupScript(this.GetType(), "myScript", "<script>javascript: alertify.alert('Ingrese Password');</script>");

                return;
            }
            else
            {
                LblUsuario.Text = String.Empty;
                LblPassword.Text = String.Empty;
                if (TxtUsuario.Text.Equals(String.Empty))
                {
                    ClientScript.RegisterStartupScript(this.GetType(), "myScript", "<script>javascript: alertify.alert('Ingrese Rut Usuario');</script>");

                    return;
                }
                else
                {
                    strRutUsuario = TxtUsuario.Text;
                    LblUsuario.Text = String.Empty;
                }

                if (TxtPassword.Text.Equals(String.Empty))
                {
                    LblPassword.Text = "Ingrese Password";
                    return;
                }
                else
                {
                    strPassword = TxtPassword.Text;
                    LblPassword.Text = String.Empty;
                }
            }
            NegUsuario NegUsuarios = new NegUsuario();

            NegUsuario ObtenerUsuario = new NegUsuario();
            LstUsuarios = ObtenerUsuario.ObtenerUsuarioPorRut(TxtUsuario.Text);

            foreach (Usuario Usuarios in LstUsuarios)
            {
                intEstadoUsua = Usuarios.intEstadoUsuario;

            }

            if (intEstadoUsua.Equals(0))
            {
                ClientScript.RegisterStartupScript(this.GetType(), "myScript", "<script>javascript: alertify.alert('ERROR: Usted no tiene acceso a este sistema, Usuario en estado desactivado');</script>");
                TxtPassword.Text = String.Empty;
                TxtUsuario.Text = String.Empty;
                return;
            }

            int intCodRoUser = NegUsuarios.ValidarUsuario(strRutUsuario, strPassword);
            if (intCodRoUser == 0)
            {
                ClientScript.RegisterStartupScript(this.GetType(), "myScript", "<script>javascript: alertify.alert('RUT USUARIO Y/O CONTRASEÑA NO VALIDA');</script>");
                TxtPassword.Text = String.Empty;
                TxtUsuario.Text = String.Empty;
                return;
            }
            else
            {
                Session["strRutUsuario"] = strRutUsuario;
                Session["intCodRoUser"] = intCodRoUser;
                NegAuditoria InsertarLog = new NegAuditoria();
                InsertarLog.InsertaAuditoria(strRutUsuario, "LOGIN", "INGRESO DEL SISTEMA", "INGRESA AL SISTEMA COMO " + strRutUsuario);
                Response.Redirect("Default.aspx");

            }
        }
        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;
        }