protected void Page_Load(object sender, EventArgs e)
        {
            intFolioSolicitud = Convert.ToInt32(Request.QueryString["Folio"]);
            intSecuencia = Convert.ToInt32(Request.QueryString["Secuencia"]);
            strTipoAdjunto = Request.QueryString["Tipo"];

            NegAdjuntos NegArchivosADjuntos = new NegAdjuntos();

            if (strTipoAdjunto.Equals("A"))
            {
                LstAdjuntos = NegArchivosADjuntos.ObtenerAdjuntosFolioTipoSecuencia(intFolioSolicitud, "A", intSecuencia);

            }
            else
            {
                LstAdjuntos = NegArchivosADjuntos.ObtenerFolioTipo(intFolioSolicitud, "S");
            }
            grvAdjunto.DataSource = LstAdjuntos;
            grvAdjunto.DataBind();
        }
        protected void BtnEnviar_Click(object sender, EventArgs e)
        {
            NegSolicitud InsertaSolicitud = new NegSolicitud();

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

             if (txtCelularContacto.Equals(String.Empty))
             {
                 ClientScript.RegisterStartupScript(this.GetType(), "myScript", "<script>javascript: alertify.alert('Debe ingresar número de contacto');</script>");
                 return;
             }

             if (txtCorreo.Equals(String.Empty))
             {
                 ClientScript.RegisterStartupScript(this.GetType(), "myScript", "<script>javascript: alertify.alert('Debe ingresar un correo electronico de contacto');</script>");
                 return;
             }

             if (Txtpeticion.Equals(String.Empty))
             {
                 ClientScript.RegisterStartupScript(this.GetType(), "myScript", "<script>javascript: alertify.alert('Debe ingresar una petición');</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;
             }

             List<Solicitud> LstSolicitud = new List<Solicitud>();
             LstSolicitud = InsertaSolicitud.Insertar_Solicitud(intCodTipoSolicitud, StrRutAlumno, StrCodCarrera, txtCelularContacto.Text, txtCorreo.Text, Txtpeticion.Text, "E");

             txtCelularContacto.Text = String.Empty;
             txtCorreo.Text = String.Empty;
             Txtpeticion.Text = String.Empty;
             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>'");
             LstAdjuntos.Clear();
             grvAdjunto.DataSource = null;
             grvAdjunto.DataBind();
        }
        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 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>'");
        }