protected void Page_Load(object sender, EventArgs e)
    {
        try
        {
            if (Session["GVT_IDRED"] == null)
            {
                try
                {
                    Response.Redirect("~/SesionCaducadaModal.aspx", true);
                }
                catch (System.Threading.ThreadAbortException) { return; }
            }
            int nLote = 0;
            if (Request.QueryString["nL"] != null)
            {
                nLote = int.Parse(Utilidades.decodpar(Request.QueryString["nL"].ToString()));
            }

            this.Title        = "Lote nº " + nLote.ToString("#,###") + this.Title;
            this.strTablaHTML = CABECERAGV.ObtenerNotasDeUnLote(nLote);
        }
        catch (Exception ex)
        {
            sErrores += Errores.mostrarError("Error al obtener las solicitudes que conforman el lote.", ex);
        }
    }
Beispiel #2
0
    protected void Recuperar()
    {
        int nPagosRecuperadas = CABECERAGV.RecuperarPago(int.Parse(hdnReferencia.Text));

        if (nPagosRecuperadas == 0)
        {
            sMsgRecuperada = "Durante su intervención, el estado de la solicitud del pago ha variado y no se permite su recuperación.";
        }
        else
        {
            Master.nBotonera = 6;
            Master.CargarBotonera();
            bLectura                  = false;
            cboMotivo.Enabled         = true;
            cboEmpresa.Enabled        = true;
            cboMoneda.Enabled         = true;
            txtImporte.ReadOnly       = false;
            txtObservaciones.ReadOnly = false;
            imgManoVisador.Style.Add("visibility", "hidden");
            cboMotivo.Items.Clear();
            obtenerMotivos((int)Session["GVT_USUARIOSUPER"], "");
            //obtenerMonedas();
            ObtenerDatosCabeceraPago(int.Parse(hdnReferencia.Text));
        }
    }
    public void RaiseCallbackEvent(string eventArg)
    {
        string sResultado = "";

        //1º Si hubiera argumentos, se recogen y tratan.
        //string MisArg = eventArg;
        string[] aArgs = Regex.Split(eventArg, "@#@");
        sResultado = aArgs[0] + @"@#@"; if (Session["GVT_IDRED"] == null)
        {
            _callbackResultado = aArgs[0] + @"@#@Error@#@SESIONCADUCADA"; return;
        }
        ;

        //2º Aquí realizaríamos el acceso a BD, etc,...
        switch (aArgs[0])
        {
        case ("enviar"):
            try
            {
                //CABECERAGV.Aprobar(aArgs[1]);
                CABECERAGV.EnviarCorreoAceptador(aArgs[1], aArgs[2], aArgs[3]);
                sResultado += "OK@#@";
            }
            catch (Exception ex)
            {
                sResultado += "Error@#@" + Errores.mostrarError("Error al enviar el correo.", ex);
            }
            break;
        }

        //3º Damos contenido a la variable que se envía de vuelta al cliente.
        _callbackResultado = sResultado;
    }
    public void RaiseCallbackEvent(string eventArg)
    {
        string sResultado = "";

        //1º Si hubiera argumentos, se recogen y tratan.
        //string MisArg = eventArg;
        string[] aArgs = Regex.Split(eventArg, "@#@");
        sResultado = aArgs[0] + @"@#@"; if (Session["GVT_IDRED"] == null)
        {
            _callbackResultado = aArgs[0] + @"@#@Error@#@SESIONCADUCADA"; return;
        }
        ;

        //2º Aquí realizaríamos el acceso a BD, etc,...
        switch (aArgs[0])
        {
        case ("getSolicitudes"):
            try
            {
                Session["GVT_FILTROSSOLICITUDESAMBITO"] =
                    new string[] { aArgs[1], aArgs[2], aArgs[3], aArgs[4], aArgs[5], aArgs[6], aArgs[7], aArgs[8], aArgs[9],
                                   aArgs[10], aArgs[11], aArgs[12], aArgs[13], aArgs[14], aArgs[15], aArgs[16] };

                /*
                 * string sOpcion,
                 * string sMotivos,
                 * string nDesde,
                 * string nHasta,
                 * string t420_concepto,
                 * string t305_idproyectosubnodo,
                 * string t420_idreferencia,
                 * string t001_idficepi_aprobada,
                 * string t001_idficepi_interesado
                 */
                //sb.Append(sOpcion + "@#@");  //1
                //sb.Append(sMotivos + "@#@");  //2
                //sb.Append($I("hdnDesde").value + "@#@");  //3
                //sb.Append($I("hdnHasta").value + "@#@");  //4
                //sb.Append($I("txtConcepto").value + "@#@");  //5
                //sb.Append($I("hdnIdProyectoSubNodo").value + "@#@");  //6
                //sb.Append($I("txtReferencia").value + "@#@");  //7
                //sb.Append($I("txtProyecto").value + "@#@");  //8
                //sb.Append($I("hdnIdBeneficiario").value + "@#@");  //9
                //sb.Append($I("txtBeneficiario").value);  //10

                sResultado += "OK@#@" + CABECERAGV.ObtenerSolicitudesAmbito(aArgs[1], aArgs[2], aArgs[3], aArgs[4], aArgs[5], aArgs[6], aArgs[7], aArgs[9], aArgs[11], aArgs[13], aArgs[15]);
            }
            catch (Exception ex)
            {
                sResultado += "Error@#@" + Errores.mostrarError("Error al obtener las solicitudes.", ex);
            }
            break;
        }

        //3º Damos contenido a la variable que se envía de vuelta al cliente.
        _callbackResultado = sResultado;
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        string sPaso = "1";

        if (!Page.IsCallback && Session["GVT_IDRED"] == null)
        {
            try { Response.Redirect("~/SesionCaducada.aspx", true); }
            catch (System.Threading.ThreadAbortException) { }
        }
        sPaso = "2";
        try
        {
            if (!Page.IsCallback)
            {
                Master.FuncionesJavaScript.Add("Javascript/jquery.min.js");
                Master.FuncionesJavaScript.Add("Javascript/imgbubbles.js");
                Master.FuncionesJavaScript.Add("Javascript/boxover.js");
                Master.FicherosCSS.Add("Capa_Presentacion/Inicio/css/Inicio.css");
                Master.bFuncionesLocales = true;
                sPaso            = "3";
                nNotasPendientes = Profesional.nNotasPendientes((int)Session["GVT_IDFICEPI"]);
                sPaso            = "4";
                nNotasVisadas    = Profesional.nNotasVisadas((int)Session["GVT_IDFICEPI"]);
                sPaso            = "5";
                strTablaHTML     = CABECERAGV.ObtenerNotasAbiertasYRecientes((int)Session["GVT_IDFICEPI"]);
                sPaso            = "6";
                bBono            = Profesional.bPermiteBono((int)Session["GVT_IDFICEPI"]);
                sPaso            = "7";
                bPago            = Profesional.bPermitePago((int)Session["GVT_IDFICEPI"]);
                sPaso            = "8";

                if (Session["GVT_HAYAVISOS"].ToString() == "1")
                {
                    sPaso = "9";
                    this.Controls.Add(LoadControl("~/Capa_Presentacion/UserControls/Avisos.ascx"));
                    Session["GVT_HAYAVISOS"] = "0";
                }
                sPaso = "10";
                //1º Se indican (por este orden) la función a la que se va a devolver el resultado
                //   y la función que va a acceder al servidor
                string cbRespuesta = Page.ClientScript.GetCallbackEventReference(this, "arg", "RespuestaCallBack", "context", false);
                string cbLlamada   = "function RealizarCallBack(arg, context)" + "{" + cbRespuesta + ";" + "}";
                //2º Se "registra" la función que va a acceder al servidor.
                Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "RealizarCallBack", cbLlamada, true);
                sPaso = "11";
            }
        }
        catch (Exception ex)
        {
            Master.sErrores = Errores.mostrarError("Error al cargar la página.(sPaso=" + sPaso + ")", ex);
        }
    }
Beispiel #6
0
    protected void Page_Load(object sender, EventArgs e)
    {
        try
        {
            if (Session["GVT_IDRED"] == null)
            {
                try
                {
                    Response.Redirect("~/SesionCaducadaModal.aspx", true);
                }
                catch (System.Threading.ThreadAbortException) { return; }
            }
            if (!Page.IsPostBack)
            {
                try
                {
                    int    nReferencia = int.Parse(Utilidades.decodpar(Request.QueryString["ref"].ToString()));
                    string sEstado     = Utilidades.decodpar(Request.QueryString["es"].ToString());
                    if (sEstado == "T" || sEstado == "N")
                    {
                        sProximaSituacion = "aprobada";
                    }
                    else
                    {
                        sProximaSituacion = "aceptada";
                    }

                    string[] aDatos = Regex.Split(CABECERAGV.ObtenerVisadores(nReferencia, sEstado), "@#@");

                    this.lblPersonas.InnerText = aDatos[0];
                    this.strTablaHTML          = aDatos[1];
                }
                catch (Exception ex)
                {
                    sErrores += Errores.mostrarError("Error al cargar los datos", ex);
                }

                //1º Se indican (por este orden) la función a la que se va a devolver el resultado
                //   y la función que va a acceder al servidor
                string cbRespuesta = Page.ClientScript.GetCallbackEventReference(this, "arg", "RespuestaCallBack", "context", false);
                string cbLlamada   = "function RealizarCallBack(arg, context)" + "{" + cbRespuesta + ";" + "}";
                //2º Se "registra" la función que va a acceder al servidor.
                Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "RealizarCallBack", cbLlamada, true);
            }
        }
        catch (Exception ex)
        {
            sErrores += Errores.mostrarError("Error al obtener los proyectos.", ex);
        }
    }
Beispiel #7
0
    public void RaiseCallbackEvent(string eventArg)
    {
        string sResultado = "";

        string[] aArgs = Regex.Split(eventArg, "@#@");
        sResultado = aArgs[0] + @"@#@"; if (Session["GVT_IDRED"] == null)
        {
            _callbackResultado = aArgs[0] + @"@#@Error@#@SESIONCADUCADA"; return;
        }
        ;

        switch (aArgs[0])
        {
        case ("getMiAmbito"):
            try
            {
                sResultado += "OK@#@" + CABECERAGV.ObtenerMiAmbito(Session["GVT_IDFICEPI"].ToString(), aArgs[1], aArgs[2], aArgs[3]);

                int[] nNotasAmbito = Profesional.nDesgloseNotasVisadas((int)Session["GVT_IDFICEPI"], aArgs[2], aArgs[3]);
                nNotasAmbitoAprobacion = nNotasAmbito[0];
                nNotasAmbitoAceptacion = nNotasAmbito[1];
                if (nNotasAmbitoAprobacion > 0)
                {
                    sResultado += "@#@S";
                }
                else
                {
                    sResultado += "@#@N";
                }

                if (nNotasAmbitoAceptacion > 0)
                {
                    sResultado += "@#@S";
                }
                else
                {
                    sResultado += "@#@N";
                }
            }
            catch (Exception ex)
            {
                sResultado += "Error@#@" + Errores.mostrarError("Error al obtener mis solicitudes.", ex);
            }
            break;
        }

        //3º Damos contenido a la variable que se envía de vuelta al cliente.
        _callbackResultado = sResultado;
    }
    public void RaiseCallbackEvent(string eventArg)
    {
        string sResultado = "";

        //1º Si hubiera argumentos, se recogen y tratan.
        //string MisArg = eventArg;
        string[] aArgs = Regex.Split(eventArg, "@#@");
        sResultado = aArgs[0] + @"@#@"; if (Session["GVT_IDRED"] == null)
        {
            _callbackResultado = aArgs[0] + @"@#@Error@#@SESIONCADUCADA"; return;
        }
        ;

        //2º Aquí realizaríamos el acceso a BD, etc,...
        switch (aArgs[0])
        {
        case ("getSolicitudesADM"):
            try
            {
                Session["GVT_FILTROSSOLICITUDESADM"] = new string[] { aArgs[1], aArgs[2], aArgs[3], aArgs[4], aArgs[5], aArgs[6], aArgs[7], aArgs[8], aArgs[9], aArgs[10], aArgs[11], aArgs[12], aArgs[13], aArgs[14], aArgs[15], aArgs[16] };

                /*string sEstados,
                *  string sMotivos,
                *  string nDesde,
                *  string nHasta,
                *  string t420_concepto,
                *  string t305_idproyectosubnodo,
                *  string t420_idreferencia)
                *  txtProyecto,
                *  hdnIdAprobador,
                *  txtAprobador,
                *  hdnIdBeneficiario,
                *  txtBeneficiario */

                sResultado += "OK@#@" + CABECERAGV.ObtenerSolicitudesADM(aArgs[1], aArgs[2], aArgs[3], aArgs[4], aArgs[5], aArgs[6], aArgs[7], aArgs[9], aArgs[11], aArgs[13], aArgs[15]);
            }
            catch (Exception ex)
            {
                sResultado += "Error@#@" + Errores.mostrarError("Error al obtener las solicitudes.", ex);
            }
            break;
        }

        //3º Damos contenido a la variable que se envía de vuelta al cliente.
        _callbackResultado = sResultado;
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        try
        {
            if (Session["GVT_IDRED"] == null)
            {
                try
                {
                    Response.Redirect("~/SesionCaducadaModal.aspx", true);
                }
                catch (System.Threading.ThreadAbortException) { return; }
            }
            if (!Page.IsPostBack)
            {
                nReferencia = int.Parse(Utilidades.decodpar(Request.QueryString["nRef"].ToString()));

                object[] aDatos = CABECERAGV.ObtenerDireccionesCorreo(nReferencia);

                chkBeneficiario.Checked = true;
                if ((int)aDatos[0] != (int)aDatos[3])
                {
                    chkSolicitante.Checked = true;
                }
                else
                {
                    chkBeneficiario.Enabled = false;
                    chkSolicitante.Enabled  = false;
                }
                hdnCodRedSolicitante.Text  = aDatos[1].ToString();
                lblSolicitante.Text        = aDatos[2].ToString() + " (Solicitante)";
                hdnCodRedBeneficiario.Text = aDatos[4].ToString();
                lblBeneficiario.Text       = aDatos[5].ToString() + " (Beneficiario)";

                //1º Se indican (por este orden) la función a la que se va a devolver el resultado
                //   y la función que va a acceder al servidor
                string cbRespuesta = Page.ClientScript.GetCallbackEventReference(this, "arg", "RespuestaCallBack", "context", false);
                string cbLlamada   = "function RealizarCallBack(arg, context)" + "{" + cbRespuesta + ";" + "}";
                //2º Se "registra" la función que va a acceder al servidor.
                Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "RealizarCallBack", cbLlamada, true);
            }
        }
        catch (Exception ex)
        {
            sErrores += Errores.mostrarError("Error al obtener los proyectos.", ex);
        }
    }
Beispiel #10
0
    public void RaiseCallbackEvent(string eventArg)
    {
        string sResultado = "";

        //1º Si hubiera argumentos, se recogen y tratan.
        //string MisArg = eventArg;
        string[] aArgs = Regex.Split(eventArg, "@#@");
        sResultado = aArgs[0] + @"@#@"; if (Session["GVT_IDRED"] == null)
        {
            _callbackResultado = aArgs[0] + @"@#@Error@#@SESIONCADUCADA"; return;
        }
        ;

        //2º Aquí realizaríamos el acceso a BD, etc,...
        switch (aArgs[0])
        {
        case ("grabar"):
            try
            {
                CABECERAGV.CambiarEstado(aArgs[1], aArgs[2], aArgs[3]);
                sResultado += "OK@#@";
            }
            catch (Exception ex)
            {
                sResultado += "Error@#@" + Errores.mostrarError("Error al cambiar de estado.", ex);
            }
            break;

        case ("obtenerDatos"):
            try
            {
                sResultado += "OK@#@" + ObtenerDatosCambiarEstado(int.Parse(aArgs[1]));
            }
            catch (NullReferenceException)
            {
                sResultado += "OK@#@0";
            }
            catch (Exception ex)
            {
                sResultado += "Error@#@" + Errores.mostrarError("Error al mostrar los datos.", ex);
            }
            break;
        }
        //3º Damos contenido a la variable que se envía de vuelta al cliente.
        _callbackResultado = sResultado;
    }
    protected void Recuperar()
    {
        int nBonosRecuperadas = CABECERAGV.RecuperarBono(int.Parse(hdnReferencia.Text));

        if (nBonosRecuperadas == 0)
        {
            sMsgRecuperada = "Durante su intervención, el estado de la solicitud de bono ha variado y no se permite su recuperación.";
        }
        else
        {
            Master.nBotonera = 6;
            Master.CargarBotonera();
            cboEmpresa.Enabled            = true;
            txtObservacionesBono.ReadOnly = false;
            imgManoVisador.Style.Add("visibility", "hidden");
            bLectura = false;
            ObtenerDatosCabeceraBono(int.Parse(hdnReferencia.Text));
        }
    }
Beispiel #12
0
    protected string ObtenerDatosCambiarEstado(int nReferencia)
    {
        CABECERAGV    oCab = CABECERAGV.ObtenerDatosCambioEstado(nReferencia);
        StringBuilder sb   = new StringBuilder();

        sb.Append(oCab.t420_idreferencia.ToString() + "#sCad#");
        sb.Append(oCab.t431_idestado.ToString() + "#sCad#");
        sb.Append(oCab.t431_denominacion.ToString() + "#sCad#");
        sb.Append(oCab.Interesado.ToString() + "#sCad#");
        sb.Append(oCab.t420_concepto.ToString() + "#sCad#");
        sb.Append(oCab.t423_denominacion.ToString() + "#sCad#");//Motivo
        sb.Append((oCab.t301_idproyecto == null) ? "#sCad#" : oCab.t301_idproyecto.ToString() + "#sCad#");
        sb.Append((oCab.t301_denominacion == null) ? "#sCad#" : oCab.t301_denominacion.ToString() + "#sCad#");
        sb.Append(decimal.Parse(oCab.TOTALVIAJE.ToString()).ToString("N") + "#sCad#");
        sb.Append(oCab.t422_idmoneda.ToString() + "#sCad#");
        sb.Append(oCab.t422_denominacion.ToString() + "#sCad#");
        sb.Append((oCab.t010_desoficina == null) ? "-#sCad#" : oCab.t010_desoficina.ToString() + "#sCad#");
        sb.Append(oCab.t313_idempresa.ToString() + "#sCad#");
        sb.Append((oCab.t313_denominacion == null) ? "#sCad#" : oCab.t313_denominacion.ToString() + "#sCad#");
        sb.Append(oCab.TipoNota.ToString());

        return(sb.ToString());
    }
    public void RaiseCallbackEvent(string eventArg)
    {
        string sResultado = "";

        //1º Si hubiera argumentos, se recogen y tratan.
        //string MisArg = eventArg;
        string[] aArgs = Regex.Split(eventArg, "@#@");
        sResultado = aArgs[0] + @"@#@"; if (Session["GVT_IDRED"] == null)
        {
            _callbackResultado = aArgs[0] + @"@#@Error@#@SESIONCADUCADA"; return;
        }
        ;

        //2º Aquí realizaríamos el acceso a BD, etc,...
        switch (aArgs[0])
        {
        case ("aprobar"):
            try
            {
                Session["GVT_ACCPENDIENTE"] = "APROBAR";
                CABECERAGV.Aprobar(aArgs[1]);
                int[] nDesgloseNotasPendientes = Profesional.nDesgloseNotasPendientes((int)Session["GVT_IDFICEPI"]);
                nNotasPendientesAprobar = nDesgloseNotasPendientes[1];
                nNotasPendientesAceptar = nDesgloseNotasPendientes[2];

                sResultado += "OK@#@" + nNotasPendientesAprobar.ToString() + "@#@" + nNotasPendientesAceptar.ToString();
            }
            catch (Exception ex)
            {
                sResultado += "Error@#@" + Errores.mostrarError("Error al aprobar las solicitudes marcadas.", ex);
            }
            break;

        case ("aceptar"):
            try
            {
                Session["GVT_ACCPENDIENTE"] = "ACEPTAR";
                CABECERAGV.Aceptar(aArgs[1]);
                int[] nDesgloseNotasPendientes = Profesional.nDesgloseNotasPendientes((int)Session["GVT_IDFICEPI"]);
                nNotasPendientesAprobar = nDesgloseNotasPendientes[1];
                nNotasPendientesAceptar = nDesgloseNotasPendientes[2];
                sResultado += "OK@#@" + nNotasPendientesAprobar.ToString() + "@#@" + nNotasPendientesAceptar.ToString();
            }
            catch (Exception ex)
            {
                //sResultado += "Error@#@" + Errores.mostrarError("Error al aceptar las solicitudes marcadas.", ex);
                string[] aMsg = Regex.Split(ex.Message, "##EC##");

                if (aMsg[0] == "ErrorControlado")
                {
                    sResultado += "Error@#@" + aMsg[1];
                }
                else
                {
                    sResultado += "Error@#@" + Errores.mostrarError("Error al aceptar las solicitudes marcadas.", ex);
                }
            }
            break;

        case ("getPendientes"):
            try
            {
                Session["GVT_ACCPENDIENTE"] = aArgs[1];
                int[] nDesgloseNotasPendientes = Profesional.nDesgloseNotasPendientes((int)Session["GVT_IDFICEPI"]);
                nNotasPendientesAprobar = nDesgloseNotasPendientes[1];
                nNotasPendientesAceptar = nDesgloseNotasPendientes[2];

                sResultado += "OK@#@" + nNotasPendientesAprobar.ToString() + "@#@" + nNotasPendientesAceptar.ToString() + "@#@" + CABECERAGV.ObtenerNotasPendientesAprobarAceptar(aArgs[1], (int)Session["GVT_IDFICEPI"]);
            }
            catch (Exception ex)
            {
                sResultado += "Error@#@" + Errores.mostrarError("Error al aceptar las solicitudes marcadas.", ex);
            }
            break;
        }

        //3º Damos contenido a la variable que se envía de vuelta al cliente.
        _callbackResultado = sResultado;
    }
    protected void ObtenerDatosCabeceraBono(int nReferencia)
    {
        if (nReferencia > 0)
        {
            CABECERAGV oCab = CABECERAGV.ObtenerDatosCabeceraBono(nReferencia);
            hdnReferencia.Text         = oCab.t420_idreferencia.ToString();
            hdnInteresado.Text         = oCab.t314_idusuario_interesado.ToString();
            sNodoUsuario               = oCab.t303_denominacion_beneficiario;
            hdnOficinaLiquidadora.Text = oCab.t010_idoficina.ToString();
            lblBeneficiario.InnerText  = (oCab.t001_sexo_interesado == "V") ? "Beneficiario" : "Beneficiaria";
            imgEstado.ImageUrl         = "~/Images/imgEstado2" + oCab.t431_idestado + ".gif";
            hdnEstado.Text             = oCab.t431_idestado;
            hdnEstadoAnterior.Text     = oCab.t431_idestado;
            txtInteresado.Text         = oCab.Interesado;
            txtReferencia.Text         = oCab.t420_idreferencia.ToString("#,###");
            //cboMoneda.SelectedValue = oCab.t422_idmoneda;
            //txtEmpresa.Text = oCab.t313_denominacion;
            txtImporte.Text     = oCab.t420_importe.ToString("N");
            lblMoneda.InnerText = oCab.t422_idmoneda;
            hdnMoneda.Text      = oCab.t422_idmoneda;
            lblMoneda.Attributes.Add("desMoneda", oCab.t422_denominacion);
            hdnIdProyectoSubNodo.Text     = (oCab.t305_idproyectosubnodo.HasValue) ? oCab.t305_idproyectosubnodo.ToString() : "";
            txtObservacionesBono.Text     = oCab.t420_comentarionota;
            hdnAnotacionesPersonales.Text = Utilidades.escape(oCab.t420_anotaciones);
            if (oCab.t001_idficepi_interesado != (int)Session["GVT_IDFICEPI_ENTRADA"])
            {
                divAnotaciones.Style.Add("visibility", "hidden");
            }

            if (oCab.t431_idestado == "B" || //No aprobada
                oCab.t431_idestado == "O" ||//No aceptada
                oCab.t431_idestado == "R"    //Recuperada
                )
            {
                setEmpresaTerritorio(oCab.t314_idusuario_interesado);
            }
            else
            {
                txtEmpresa.Text      = oCab.t313_denominacion;
                hdnIDEmpresa.Text    = oCab.t313_idempresa.ToString();
                hdnIDTerritorio.Text = oCab.t007_idterrfis.ToString();
            }

            //hdnIDEmpresa.Text = oCab.t313_idempresa.ToString();
            //hdnIdTerritorio.Text = oCab.t007_idterrfis.ToString();

            hdnImporte.Text  = oCab.t420_importe.ToString("N");
            txtBono.Text     = oCab.t655_denominacion.ToString();
            hdnIdBono.Text   = oCab.t655_idBono.ToString();
            hdnFecha.Text    = oCab.t420_anomesbono.ToString();
            txtProyecto.Text = (oCab.t301_idproyecto.HasValue) ? ((int)oCab.t301_idproyecto).ToString("#,###") + " - " + oCab.t301_denominacion.ToString() : " - ";

            txtFecContabilizacion.Text = (oCab.t420_fcontabilizacion.HasValue) ? ((DateTime)oCab.t420_fcontabilizacion).ToShortDateString() : "";
            txtTipoCambio.Text         = (oCab.t431_idestado == "A") ? "" : oCab.t420_tipocambio.ToString("#,##0.0000");

            if (oCab.t431_idestado == "L" ||
                oCab.t431_idestado == "C" ||
                oCab.t431_idestado == "S")
            {
                string sToolTip = "";
                if (User.IsInRole("A"))
                {
                    sToolTip += "<label style='width:90px;'>Centro de coste:</label>" + oCab.t175_idcc_solicitud + " - " + oCab.t175_denominacion_solicitud + "<br>";
                }
                sToolTip           += "<label style='width:140px;'>" + Estructura.getDefLarga(Estructura.sTipoElem.NODO) + ":</label>" + oCab.t303_denominacion_solicitud;
                txtProyecto.ToolTip = "\"cssbody=[dvbdy] cssheader=[dvhdr] header=[<img src='../../images/info.gif' style='vertical-align:middle' />  Información] body=[" + sToolTip + "] hideselects=[off]";
            }
        }
        else //Nueva nota
        {
            #region
            USUARIO oUsuario = USUARIO.Obtener((int)Session["GVT_USUARIOSUPER"]);

            txtInteresado.Text = oUsuario.Nombre;
            hdnInteresado.Text = oUsuario.t314_idusuario.ToString();
            sNodoUsuario       = oUsuario.t303_denominacion;
            //txtEmpresa.Text = oUsuario.t313_denominacion;
            hdnOficinaLiquidadora.Text = (oUsuario.oOficinaLiquidadora != null) ? oUsuario.oOficinaLiquidadora.t010_idoficina.ToString() : "";
            setEmpresaTerritorio((int)Session["GVT_USUARIOSUPER"]);

            //hdnIDEmpresa.Text = oUsuario.t313_idempresa.ToString();
            //hdnIdTerritorio.Text = oUsuario.oTerritorio.T007_IDTERRFIS.ToString();
            #endregion
        }
    }
    public void RaiseCallbackEvent(string eventArg)
    {
        string sResultado = "";

        //1º Si hubiera argumentos, se recogen y tratan.
        //string MisArg = eventArg;
        string[] aArgs = Regex.Split(eventArg, "@#@");
        sResultado = aArgs[0] + @"@#@"; if (Session["GVT_IDRED"] == null)
        {
            _callbackResultado = aArgs[0] + @"@#@Error@#@SESIONCADUCADA"; return;
        }
        ;

        //2º Aquí realizaríamos el acceso a BD, etc,...
        switch (aArgs[0])
        {
        case ("tramitar"):
            try
            {
                sResultado += "OK@#@" + NuevoBonoTransporte.TramitarBono(aArgs[1], aArgs[2], aArgs[3], aArgs[4], aArgs[5], aArgs[6],
                                                                         aArgs[7], aArgs[8], aArgs[9], aArgs[10], aArgs[11], aArgs[12]);
            }
            catch (Exception ex)
            {
                //sResultado += "Error@#@" + Errores.mostrarError("Error al tramitar el bono de transporte.", ex);
                string[] aMsg = Regex.Split(ex.Message, "##EC##");

                if (aMsg[0] == "ErrorControlado")
                {
                    sResultado += "Error@#@" + aMsg[1];
                }
                else
                {
                    sResultado += "Error@#@" + Errores.mostrarError("Error al tramitar el bono de transporte.", ex);
                }
            }
            break;

        case ("bono"):
            try
            {
                sResultado += "OK@#@" + NuevoBonoTransporte.obtenerDatosIniciales(aArgs[3], aArgs[1]) + "@#@" + NuevoBonoTransporte.obtenerCabeceraGVBono(aArgs[2], aArgs[3], aArgs[1].Substring(aArgs[1].Length - 2, 2));
            }
            catch (Exception ex)
            {
                sResultado += "Error@#@" + Errores.mostrarError("Error al obtener los datos de los bonos.", ex);
            }
            break;

        case ("getOtrosDatos"):
            try
            {
                sResultado += "OK@#@" + NuevoBonoTransporte.ObtenerHistorial(aArgs[2]) + "///" + NuevoBonoTransporte.obtenerCabeceraGVBono(aArgs[2], aArgs[3], aArgs[1]);
            }
            catch (Exception ex)
            {
                sResultado += "Error@#@" + Errores.mostrarError("Error al obtener el historial.", ex);
            }
            break;

        case ("aprobar"):
            try
            {
                CABECERAGV.Aprobar(aArgs[1]);
                sResultado += "OK@#@";
            }
            catch (Exception ex)
            {
                sResultado += "Error@#@" + Errores.mostrarError("Error al aprobar la solicitud.", ex);
            }
            break;

        case ("noaprobar"):
            try
            {
                sResultado += "OK@#@" + CABECERAGV.NoAprobar(int.Parse(aArgs[1]), aArgs[2]).ToString();
            }
            catch (Exception ex)
            {
                sResultado += "Error@#@" + Errores.mostrarError("Error al no aprobar la solicitud estándar.", ex);
            }
            break;

        case ("aceptar"):
            try
            {
                CABECERAGV.Aceptar(aArgs[1]);
                sResultado += "OK@#@";
            }
            catch (Exception ex)
            {
                //sResultado += "Error@#@" + Errores.mostrarError("Error al aceptar la solicitud.", ex);
                string[] aMsg = Regex.Split(ex.Message, "##EC##");

                if (aMsg[0] == "ErrorControlado")
                {
                    sResultado += "Error@#@" + aMsg[1];
                }
                else
                {
                    sResultado += "Error@#@" + Errores.mostrarError("Error al aceptar la solicitud.", ex);
                }
            }
            break;

        case ("noaceptar"):
            try
            {
                sResultado += "OK@#@" + CABECERAGV.NoAceptar(int.Parse(aArgs[1]), aArgs[2]).ToString();
            }
            catch (Exception ex)
            {
                sResultado += "Error@#@" + Errores.mostrarError("Error al no aceptar la solicitud estándar.", ex);
            }
            break;

        case ("anular"):
            try
            {
                sResultado += "OK@#@" + CABECERAGV.Anular(int.Parse(aArgs[1]), aArgs[2]).ToString();
            }
            catch (Exception ex)
            {
                sResultado += "Error@#@" + Errores.mostrarError("Error al anular la solicitud estándar.", ex);
            }
            break;

        case ("getHistoria"):
            try
            {
                sResultado += "OK@#@" + CABECERAGV.ObtenerHistorial(int.Parse(aArgs[1]));
            }
            catch (Exception ex)
            {
                sResultado += "Error@#@" + Errores.mostrarError("Error al obtener el historial.", ex);
            }
            break;

        case ("getDatosBeneficiario"):
            try
            {
                sResultado += "OK@#@" + ObtenerDatosBeneficiario(int.Parse(aArgs[1]));
            }
            catch (Exception ex)
            {
                sResultado += "Error@#@" + Errores.mostrarError("Error al obtener los datos del beneficiario.", ex);
            }
            break;

        case ("getCCMotivo"):
            try
            {
                sResultado += "OK@#@" + CABECERAGV.ObtenerCentroCosteMotivo(aArgs[1], aArgs[2], aArgs[3]);
            }
            catch (Exception ex)
            {
                sResultado += "Error@#@" + Errores.mostrarError("Error al obtener los datos del beneficiario.", ex);
            }
            break;
        }

        //3º Damos contenido a la variable que se envía de vuelta al cliente.
        _callbackResultado = sResultado;
    }
    public void RaiseCallbackEvent(string eventArg)
    {
        string sResultado = "", sCad = "";

        //1º Si hubiera argumentos, se recogen y tratan.
        //string MisArg = eventArg;
        string[] aArgs = Regex.Split(eventArg, "@#@");
        sResultado = aArgs[0] + @"@#@"; if (Session["GVT_IDRED"] == null)
        {
            _callbackResultado = aArgs[0] + @"@#@Error@#@SESIONCADUCADA"; return;
        }
        ;

        //2º Aquí realizaríamos el acceso a BD, etc,...
        switch (aArgs[0])
        {
        case ("tramitar"):
            try
            {
                sResultado += "OK@#@" + CABECERAGV.TramitarNotaMultiProyecto(aArgs[1], aArgs[2], aArgs[3]);
            }
            catch (Exception ex)
            {
                string[] aMsg = Regex.Split(ex.Message, "##EC##");

                if (aMsg[0] == "ErrorControlado")
                {
                    sResultado += "Error@#@" + aMsg[1];
                }
                else
                {
                    sResultado += "Error@#@" + Errores.mostrarError("Error al tramitar la solicitud multiproyecto.", ex);
                }
            }
            break;

        case ("aparcar"):
            try
            {
                sResultado += "OK@#@" + CABECERAAPARCADA_NMPGV.AparcarNotaMultiProyecto(aArgs[1], aArgs[2]);
            }
            catch (Exception ex)
            {
                if (ex.Message == "Solicitud aparcada no existente")
                {
                    sResultado += "OK@#@" + ex.Message;
                }
                else
                {
                    sResultado += "Error@#@" + Errores.mostrarError("Error al aparcar la solicitud multiproyecto.", ex);
                }
            }
            break;


        //case ("tarearecurso"):
        //    sResultado += ObtenerDatosTareaRecurso(aArgs[1], aArgs[2]);
        //    break;
        case ("getDatosPestana"):
            switch (int.Parse(aArgs[1]))
            {
            case 0:        //Gastos
                //nada porque al ser la primera pestaña se carga directamente en el Page_Load
                break;

            case 1:        //Anticipos
                //sCad = ObtenerRecursosAsociados(aArgs[2], aArgs[4], false);
                if (sCad.IndexOf("Error@#@") >= 0)
                {
                    sResultado += sCad;
                }
                else
                {
                    sResultado += "OK@#@" + aArgs[1] + "@#@" + sCad;
                }
                break;

            case 2:        //Otros datos
                //sCad = ObtenerRecursosAsociados(aArgs[2], aArgs[4], false);
                if (sCad.IndexOf("Error@#@") >= 0)
                {
                    sResultado += sCad;
                }
                else
                {
                    sResultado += "OK@#@" + aArgs[1] + "@#@" + sCad;
                }
                break;
            }
            break;

        case ("eliminar"):
            try
            {
                CABECERAAPARCADA_NMPGV.Eliminar(int.Parse(aArgs[1]));
                sResultado += "OK@#@";
            }
            catch (Exception ex)
            {
                sResultado += "Error@#@" + Errores.mostrarError("Error al eliminar la solicitud multiproyecto.", ex);
            }
            break;

        case ("getDatosBeneficiario"):
            try
            {
                sResultado += "OK@#@" + ObtenerDatosBeneficiario(int.Parse(aArgs[1]));
            }
            catch (Exception ex)
            {
                sResultado += "Error@#@" + Errores.mostrarError("Error al obtener los datos del beneficiario.", ex);
            }
            break;

        case ("getDatosEmpresas"):
            try
            {
                sResultado += "OK@#@" + ObtenerDatosEmpresas(int.Parse(aArgs[1]));
            }
            catch (Exception ex)
            {
                sResultado += "Error@#@" + Errores.mostrarError("Error al obtener los datos del beneficiario.", ex);
            }
            break;
        }

        //3º Damos contenido a la variable que se envía de vuelta al cliente.
        _callbackResultado = sResultado;
    }
    protected void ObtenerDatosCabecera(int nReferencia)
    {
        if (nReferencia > 0)
        {
            #region solicitud existente
            CABECERAGV oCab = CABECERAGV.ObtenerDatosCabecera(nReferencia);
            hdnReferencia.Text         = oCab.t420_idreferencia.ToString();
            hdnInteresado.Text         = oCab.t314_idusuario_interesado.ToString();
            sNodoUsuario               = oCab.t303_denominacion_beneficiario;
            hdnOficinaLiquidadora.Text = oCab.t010_idoficina.ToString();
            hdnEstado.Text             = oCab.t431_idestado;
            hdnEstadoAnterior.Text     = oCab.t431_idestado;
            txtInteresado.Text         = oCab.Interesado;
            //txtReferencia.Text = oCab.t420_idreferencia.ToString("#,###");
            sNodoUsuario     = oCab.t303_denominacion_beneficiario;
            txtConcepto.Text = oCab.t420_concepto;
            //txtEmpresa.Text = oCab.t313_denominacion;
            //cboMotivo.SelectedValue = oCab.t423_idmotivo.ToString();
            txtOficinaLiq.Text        = oCab.t010_desoficina;
            hdnIdProyectoSubNodo.Text = (oCab.t305_idproyectosubnodo.HasValue) ? oCab.t305_idproyectosubnodo.ToString() : "";
            txtProyecto.Text          = (oCab.t305_idproyectosubnodo.HasValue) ? ((int)oCab.t301_idproyecto).ToString("#,###") + " - " + oCab.t301_denominacion : "";
            cboMoneda.SelectedValue   = oCab.t422_idmoneda.ToString();
            if (oCab.t420_justificantes.HasValue)
            {
                if ((bool)oCab.t420_justificantes)
                {
                    rdbJustificantes.Items[0].Selected = true;
                }
                else
                {
                    rdbJustificantes.Items[1].Selected = true;
                }
            }
            txtObservacionesNota.Text     = oCab.t420_comentarionota;
            hdnAnotacionesPersonales.Text = Utilidades.escape(oCab.t420_anotaciones);
            if (oCab.t001_idficepi_interesado != (int)Session["GVT_IDFICEPI_ENTRADA"])
            {
                divAnotaciones.Style.Add("visibility", "hidden");
            }

            hdnOficinaBase.Text = "";

            if (oCab.t431_idestado == "P")//Aparcada
            {
                //setEmpresaTerritorio(oCab.t314_idusuario_interesado);
                int idEmpresaDefecto = GASVI.DAL.Configuracion.GetEmpresaDefecto(null, oCab.t001_codred);
                setEmpresaTerritorio(oCab.t314_idusuario_interesado, oCab.t001_idficepi_interesado, oCab.Interesado,
                                     idEmpresaDefecto, oCab.t313_idempresa);
            }
            else
            {
                txtEmpresa.Text      = oCab.t313_denominacion;
                hdnIDEmpresa.Text    = oCab.t313_idempresa.ToString();
                hdnIDTerritorio.Text = oCab.t007_idterrfis.ToString();
                lblTerritorio.Text   = oCab.t007_nomterrfis;
            }

            //hdnIDEmpresa.Text = oCab.t313_idempresa.ToString();
            //hdnIDTerritorio.Text = oCab.t007_idterrfis.ToString();
            //lblTerritorio.Text = oCab.t007_nomterrfis;

            cldKMCO.InnerText = oCab.t420_impkmco.ToString("N");
            cldDCCO.InnerText = oCab.t420_impdico.ToString("N");
            cldMDCO.InnerText = oCab.t420_impmdco.ToString("N");
            cldDECO.InnerText = oCab.t420_impdeco.ToString("N");
            cldDACO.InnerText = oCab.t420_impalco.ToString("N");
            cldKMEX.InnerText = oCab.t420_impkmex.ToString("N");
            cldDCEX.InnerText = oCab.t420_impdiex.ToString("N");
            cldMDEX.InnerText = oCab.t420_impmdex.ToString("N");
            cldDEEX.InnerText = oCab.t420_impdeex.ToString("N");
            cldDAEX.InnerText = oCab.t420_impalex.ToString("N");
            #endregion
        }
        else //Nueva nota
        {
            #region nueva solicitud
            USUARIO oUsuario = USUARIO.Obtener((int)Session["GVT_USUARIOSUPER"]);

            txtInteresado.Text = oUsuario.Nombre;
            hdnInteresado.Text = oUsuario.t314_idusuario.ToString();
            sNodoUsuario       = oUsuario.t303_denominacion;
            txtEmpresa.Text    = oUsuario.t313_denominacion;
            txtOficinaLiq.Text = (oUsuario.oOficinaLiquidadora != null) ? oUsuario.oOficinaLiquidadora.t010_desoficina : "";

            if (oUsuario.t422_idmoneda != "" && oUsuario.t422_idmoneda != null) //Moneda por defecto a nivel de usuario
            {
                cboMoneda.SelectedValue = oUsuario.t422_idmoneda.ToString();
            }
            if (oUsuario.oDietaKm != null)
            {
                cldKMCO.InnerText = oUsuario.oDietaKm.t069_ick.ToString("N");
                cldDCCO.InnerText = oUsuario.oDietaKm.t069_icdc.ToString("N");
                cldMDCO.InnerText = oUsuario.oDietaKm.t069_icmd.ToString("N");
                cldDECO.InnerText = oUsuario.oDietaKm.t069_icde.ToString("N");
                cldDACO.InnerText = oUsuario.oDietaKm.t069_icda.ToString("N");
            }
            if (oUsuario.oTerritorio != null)
            {
                cldKMEX.InnerText = oUsuario.oTerritorio.T007_ITERK.ToString("N");
                cldDCEX.InnerText = oUsuario.oTerritorio.T007_ITERDC.ToString("N");
                cldMDEX.InnerText = oUsuario.oTerritorio.T007_ITERMD.ToString("N");
                cldDEEX.InnerText = oUsuario.oTerritorio.T007_ITERDE.ToString("N");
                cldDAEX.InnerText = oUsuario.oTerritorio.T007_ITERDA.ToString("N");
            }

            hdnOficinaBase.Text        = (oUsuario.t010_idoficina_base.HasValue) ? oUsuario.t010_idoficina_base.ToString() : "";
            hdnOficinaLiquidadora.Text = (oUsuario.oOficinaLiquidadora != null) ? oUsuario.oOficinaLiquidadora.t010_idoficina.ToString() : "";

            //1ºComprobar si el profesional tiene más de una empresa.
            //setEmpresaTerritorio((int)Session["GVT_USUARIOSUPER"]);
            setEmpresaTerritorio(oUsuario.t314_idusuario, oUsuario.t001_idficepi, oUsuario.Nombre,
                                 oUsuario.t313_idempresa_defecto, 0);
            #endregion
        }
    }
    public void RaiseCallbackEvent(string eventArg)
    {
        string sResultado = "", sCad = "";

        //1º Si hubiera argumentos, se recogen y tratan.
        //string MisArg = eventArg;
        string[] aArgs = Regex.Split(eventArg, "@#@");
        sResultado = aArgs[0] + @"@#@"; if (Session["IDRED"] == null)
        {
            _callbackResultado = aArgs[0] + @"@#@Error@#@SESIONCADUCADA"; return;
        }
        ;

        //2º Aquí realizaríamos el acceso a BD, etc,...
        switch (aArgs[0])
        {
        case ("tramitar"):
            try
            {
                sResultado += "OK@#@" + CABECERAGV.TramitarNotaEstandar(aArgs[1], aArgs[2]);
            }
            catch (Exception ex)
            {
                string[] aMsg = Regex.Split(ex.Message, "##EC##");

                if (aMsg[0] == "ErrorControlado")
                {
                    sResultado += "Error@#@" + aMsg[1];
                }
                else
                {
                    sResultado += "Error@#@" + Errores.mostrarError("Error al tramitar la nota estándar.", ex);
                }
            }
            break;

        case ("getDatosPestana"):
            switch (int.Parse(aArgs[1]))
            {
            case 0:        //Gastos
                //nada porque al ser la primera pestaña se carga directamente en el Page_Load
                break;

            case 1:        //Anticipos
                //sCad = ObtenerRecursosAsociados(aArgs[2], aArgs[4], false);
                if (sCad.IndexOf("Error@#@") >= 0)
                {
                    sResultado += sCad;
                }
                else
                {
                    sResultado += "OK@#@" + aArgs[1] + "@#@" + sCad;
                }
                break;

            case 2:        //Otros datos
                try
                {
                    sResultado += "OK@#@" + aArgs[1] + "@#@" + CABECERAGV.ObtenerHistorial((aArgs[2] == "")?0:int.Parse(aArgs[2]));
                }
                catch (Exception ex)
                {
                    sResultado += "Error@#@" + aArgs[1] + "@#@" + Errores.mostrarError("Error al obtener el historial.", ex);
                }

                break;
            }
            break;
        }

        //3º Damos contenido a la variable que se envía de vuelta al cliente.
        _callbackResultado = sResultado;
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        try
        {
            if (!Page.IsCallback)
            {
                Master.FuncionesJavaScript.Add("Javascript/boxover.js");
                //Master.FuncionesJavaScript.Add("Javascript/jquery.min.js");
                Master.FuncionesJavaScript.Add("Javascript/imgbubbles.js");
                Master.FicherosCSS.Add("Capa_Presentacion/AccionesPendientes/css/AccionesPendientes.css");
                Master.TituloPagina        = "Acciones pendientes";
                Master.bFuncionesLocales   = true;
                Master.Botonera.ItemClick += new ToolBarEventHandler(this.Botonera_Click);

                if (Request.QueryString["so"] != null)
                {
                    Session["GVT_ACCPENDIENTE"] = "APROBAR";
                }

                int[] nDesgloseNotasPendientes = Profesional.nDesgloseNotasPendientes((int)Session["GVT_IDFICEPI"]);
                nNotasPendientesAprobar = nDesgloseNotasPendientes[1];
                nNotasPendientesAceptar = nDesgloseNotasPendientes[2];

                if (nDesgloseNotasPendientes[0] == 0)
                {
                    try
                    {
                        Response.Redirect("~/Capa_Presentacion/Inicio/Default.aspx", true);
                    }
                    catch (System.Threading.ThreadAbortException) { }
                }

                if (Session["GVT_ACCPENDIENTE"].ToString() == "ACEPTAR" && nNotasPendientesAceptar > 0)
                {
                    Master.nBotonera    = 14;
                    sOpcionSeleccionada = "ACEPTAR";
                }
                else
                {
                    if (nNotasPendientesAprobar > 0)
                    {
                        Master.nBotonera    = 12;
                        sOpcionSeleccionada = "APROBAR";
                    }
                    else
                    {
                        Master.nBotonera    = 14;
                        sOpcionSeleccionada = "ACEPTAR";
                    }
                }


                string[] aHTMLTablas = Regex.Split(CABECERAGV.ObtenerNotasPendientesAprobarAceptar(sOpcionSeleccionada, (int)Session["GVT_IDFICEPI"]), "#@septabla@#");
                strHTMLTablaNotas = aHTMLTablas[0];
                strHTMLTablaBonos = aHTMLTablas[1];
                strHTMLTablaPagos = aHTMLTablas[2];
            }

            //1º Se indican (por este orden) la función a la que se va a devolver el resultado
            //   y la función que va a acceder al servidor
            string cbRespuesta = Page.ClientScript.GetCallbackEventReference(this, "arg", "RespuestaCallBack", "context", false);
            string cbLlamada   = "function RealizarCallBack(arg, context)" + "{" + cbRespuesta + ";" + "}";
            //2º Se "registra" la función que va a acceder al servidor.
            Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "RealizarCallBack", cbLlamada, true);
        }
        catch (System.Threading.ThreadAbortException) { }
        catch (Exception ex)
        {
            Master.sErrores = Errores.mostrarError("Error al cargar la página.", ex);
        }
    }