protected void Page_Load(object sender, EventArgs e)
    {
        try
        {
            if (Session["IDRED"] == null)
            {
                try
                {
                    Response.Redirect("~/SesionCaducadaModal.aspx", true);
                }
                catch (System.Threading.ThreadAbortException) { return; }
            }

            if (Request.QueryString["nm"] == null)
            {
                cboMes.Value = DateTime.Now.Month.ToString();
                txtAnno.Text = DateTime.Now.Year.ToString();
            }
            else
            {
                int nAnomes = int.Parse(Utilidades.decodpar(Request.QueryString["nm"].ToString()));
                cboMes.Value = Fechas.AnnomesAFecha(nAnomes).Month.ToString();
                txtAnno.Text = Fechas.AnnomesAFecha(nAnomes).Year.ToString();
            }
        }
        catch (Exception ex)
        {
            sErrores += Errores.mostrarError("Error al obtener los datos", ex);
        }
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsCallback)
        {
            Master.bFuncionesLocales = true;
            Master.TituloPagina      = "Consulta de facturabilidad / disponibilidad";
            Master.FuncionesJavaScript.Add("Javascript/boxover.js");
            Master.FuncionesJavaScript.Add("PopCalendar/PopCalendar.js");
            Master.FicherosCSS.Add("PopCalendar/CSS/Classic.css");

            DateTime dDesde;
            DateTime dHasta;

            try
            {
                Utilidades.SetEventosFecha(this.txtDesde);
                Utilidades.SetEventosFecha(this.txtHasta);

                int nMes = 0;
                if (Session["UMC_IAP"] != null)
                {
                    nMes = (int)Session["UMC_IAP"];
                }
                else
                {
                    nMes = DateTime.Today.AddMonths(-1).Year * 100 + DateTime.Today.AddMonths(-1).Month;
                }

                DateTime dt = Fechas.AnnomesAFecha(nMes);
                dDesde = dt;
                dHasta = dt.AddMonths(1);

                txtDesde.Text = dt.ToShortDateString();
                txtHasta.Text = dt.AddMonths(1).ToShortDateString();

                string   strTabla = obtenerDatosFact(txtDesde.Text, txtHasta.Text);
                string[] aTabla   = Regex.Split(strTabla, "@#@");
                if (aTabla[0] == "OK")
                {
                    this.strTablaHTML = aTabla[1];
                }
                else
                {
                    Master.sErrores += aTabla[1];
                }
            }
            catch (Exception ex)
            {
                Master.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);
        }
    }
Beispiel #3
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            //if (User.IsInRole("P") || Session["ADMINISTRADOR_PC_ACTUAL"].ToString() != "") es_administrador = "S";
            if (Request.QueryString["nDesde"] == null)
            {
                DateTime dFechaUMC = Fechas.AnnomesAFecha((int)Session["UMC_IAP"]); //DateTime.Today.AddMonths(-1);
                hdnAnoMesDesde.Text = (dFechaUMC.Year * 100 + dFechaUMC.Month).ToString();
                txtDesde.Text       = mes[dFechaUMC.Month - 1] + " " + dFechaUMC.Year.ToString();
                hdnAnoMesHasta.Text = hdnAnoMesDesde.Text;
                txtHasta.Text       = txtDesde.Text;
            }
            else
            {
                hdnAnoMesDesde.Text = Request.QueryString["nDesde"].ToString();
                DateTime dFecha = Fechas.AnnomesAFecha(int.Parse(hdnAnoMesDesde.Text));
                txtDesde.Text       = mes[dFecha.Month - 1] + " " + dFecha.Year.ToString();
                hdnAnoMesHasta.Text = Request.QueryString["nHasta"].ToString();
                dFecha        = Fechas.AnnomesAFecha(int.Parse(hdnAnoMesHasta.Text));
                txtHasta.Text = mes[dFecha.Month - 1] + " " + dFecha.Year.ToString();
            }

            Master.sbotonesOpcionOn  = "38";
            Master.TituloPagina      = "Consulta de imputaciones mensuales";
            Master.bFuncionesLocales = true;

            //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);
        }
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        this.Head.PreCss = Session["strServer"].ToString() + "Capa_Presentacion/IAP30/css/IAP30.css";
        //Recogida de parámetros y volcado en IB.vars
        try
        {
            string script1 = "IB.vars.idficepi = '" + Session["IDFICEPI_IAP"] + "';";

            script1 += "IB.vars.codUsu = '" + Session["NUM_EMPLEADO_IAP"].ToString() + "';";

            if (Request.QueryString["nDesde"] == null)
            {
                DateTime dFechaUMC = Fechas.AnnomesAFecha((int)Session["UMC_IAP"]); //DateTime.Today.AddMonths(-1);
                script1 += "IB.vars.fechaDesde = '" + (dFechaUMC.Year * 100 + dFechaUMC.Month).ToString() + "';";
                //script1 += "IB.vars.fechaDesde = '201601';";
                txtInicio.Value = mes[dFechaUMC.Month - 1] + " " + dFechaUMC.Year.ToString();
                script1        += "IB.vars.fechaHasta = '" + (dFechaUMC.Year * 100 + dFechaUMC.Month).ToString() + "';";
                txtFin.Value    = txtInicio.Value;
                txtAno.Value    = dFechaUMC.Year.ToString();
                txtAnoMes.Value = txtInicio.Value;
                txtMes.Value    = mes[dFechaUMC.Month - 1];
            }
            else
            {
                script1 += "IB.vars.fechaDesde = '" + Request.QueryString["nDesde"].ToString() + "';";
                DateTime dFecha = Fechas.AnnomesAFecha(int.Parse(Request.QueryString["nDesde"].ToString()));
                txtInicio.Value = mes[dFecha.Month - 1] + " " + dFecha.Year.ToString();
                script1        += "IB.vars.fechaHasta = '" + Request.QueryString["nHasta"].ToString() + "';";

                dFecha          = Fechas.AnnomesAFecha(int.Parse(Request.QueryString["nHasta"].ToString()));
                txtFin.Value    = mes[dFecha.Month - 1] + " " + dFecha.Year.ToString();
                txtAno.Value    = dFecha.Year.ToString();
                txtAnoMes.Value = mes[dFecha.Month - 1] + " " + dFecha.Year.ToString();
                txtMes.Value    = mes[dFecha.Month - 1];
            }
            script1 += "IB.vars.fechaInicioOld = '" + txtInicio.Value + "';";
            script1 += "IB.vars.fechaFinOld = '" + txtFin.Value + "';";
            script1 += "IB.vars.ano = '" + txtAno.Value + "';";

            script1 += "IB.vars.localizacion = ''";
            //registramos en un form runat='server'
            Page.ClientScript.RegisterClientScriptBlock(Page.GetType(), "script1", script1, true);
        }
        catch (Exception ex)
        {
            LogError.LogearError("Parámetros incorrectos en la carga de la pantalla", ex);

            string script2 = "IB.vars.error = 'Parámetros incorrectos en la carga de la pantalla';";
            Page.ClientScript.RegisterClientScriptBlock(Page.GetType(), "script2", script2, true);
        }
    }
Beispiel #5
0
    private string obtenerDiasFestivos()
    {
        SqlDataReader dr = Calendario.ObtenerFestivos((int)Session["IDCALENDARIO_IAP"],
                                                      Fechas.AnnomesAFecha((int)Session["UMC_IAP"]).AddMonths(1).AddDays(-1));
        string sRes = "";
        int    i    = 0;

        while (dr.Read())
        {
            sRes += "aFestivosG[" + i + "] = '" + DateTime.Parse(dr["t067_dia"].ToString()).ToShortDateString() + "';\n";
            i++;
        }
        dr.Close();
        dr.Dispose();
        return(sRes);
    }
Beispiel #6
0
    protected void ObtenerBonos(string sDesde, string sHasta)
    {
        StringBuilder sb = new StringBuilder();
        SqlDataReader dr = null;

        //string sD = "", sH = "";
        try
        {
            //dr = BONO_TRANSPORTE.Catalogo(DateTime.Parse(sDesde), DateTime.Parse(sHasta));
            int iAnoMesHasta = int.Parse(sHasta) + 1;
            dr = BONO_TRANSPORTE.Catalogo(Fechas.AnnomesAFecha(int.Parse(sDesde)), Fechas.AnnomesAFecha(iAnoMesHasta).AddDays(-1));
            sb.Append("<table id='tblDatos' class='texto MA' style='width:350px;'>");
            //sb.Append("<colgroup><col style='width:347px;' /></colgroup>");
            sb.Append("<tbody>");
            while (dr.Read())
            {
                sb.Append("<tr id='" + dr["t655_idbono"].ToString() + "' ondblclick='aceptarClick(this.rowIndex)'>");
                sb.Append("<td style='padding-left:3px;'>" + dr["t655_denominacion"].ToString() + "</td>");
                //sD = dr["t657_desde"].ToString();
                //if (sD != "")
                //    sb.Append("<td>" + sD.Substring(0, 10) + "</td>");
                //else
                //    sb.Append("<td></td>");
                //sH = dr["t657_hasta"].ToString();
                //if (sH != "")
                //    sb.Append("<td>" + sH.Substring(0, 10) + "</td>");
                //else
                //    sb.Append("<td></td>");
                sb.Append("</tr>");
            }
            dr.Close();
            dr.Dispose();
            sb.Append("</tbody>");
            sb.Append("</table>");
            strTablaHTML = sb.ToString();
        }
        catch (Exception ex)
        {
            sErrores = Errores.mostrarError("Error al obtener la relación de bonos de transporte.", ex);
        }
    }
Beispiel #7
0
    private string PonerRecurso(int IdRecurso, int IdNodo, int iUltCierreEco, int IdPsn,
                                bool bDeriva, decimal costecon, decimal costerep, bool bNotif)
    {
        SqlConnection  oConn  = null;
        SqlTransaction tr     = null;
        string         sResul = "";

        try
        {
            oConn = Conexion.Abrir();
            tr    = Conexion.AbrirTransaccion(oConn);
            //lA FECHA DE alta en el proyecto será la siguiente al último mes cerrado del nodo
            DateTime dtFechaAlta = Fechas.AnnomesAFecha(Fechas.AddAnnomes(iUltCierreEco, 1));
            if (!TareaRecurso.AsociadoAProyecto(tr, IdPsn, IdRecurso))
            {
                //TareaRecurso.AsociarAProyecto(tr, IdNodo, IdRecurso, IdPsn, null, dtFechaAlta, null);
                //if (costecon == null) costecon = 0;
                USUARIOPROYECTOSUBNODO.Insert(tr, IdPsn, IdRecurso, costecon, costerep, bDeriva, dtFechaAlta, null, null);
            }
            else
            {
                //TareaRecurso.ReAsociarAProyecto(tr, IdRecurso, IdPsn);
                if (!USUARIOPROYECTOSUBNODO.AsociadoDeAltaProyecto(tr, IdPsn, IdRecurso))
                {
                    USUARIOPROYECTOSUBNODO.Update(tr, IdPsn, IdRecurso, costecon, costerep, bDeriva, dtFechaAlta, null, null);
                }
            }
            Conexion.CommitTransaccion(tr);
        }
        catch (Exception ex)
        {
            Conexion.CerrarTransaccion(tr);
            sResul = Errores.mostrarError("Error al grabar", ex);
        }
        finally
        {
            Conexion.Cerrar(oConn);
        }
        return(sResul);
    }
    public static Models.Recursos establecerUsuarioIAP(string sUsuario)
    {
        DBConn DBConn = new DBConn();

        IB.sqldblib.SqlServerSP cDblib = DBConn.dblibclass;

        BLL.Recursos     oRecursos     = new BLL.Recursos(cDblib);
        BLL.FestivosCals oFestivosCals = new BLL.FestivosCals(cDblib);
        Models.Recursos  oRecursoModel = new Models.Recursos();

        try
        {
            Models.Recursos cProfesionalIap = new Models.Recursos();
            oRecursoModel           = oRecursos.establecerUsuarioIAP("", int.Parse(sUsuario));
            oRecursoModel.aFestivos = oFestivosCals.CatalogoFestivosString(oRecursoModel.IdCalendario, Fechas.AnnomesAFecha((int)oRecursoModel.t303_ultcierreIAP).AddMonths(1).AddDays(-1));

            HttpContext.Current.Session["NUM_EMPLEADO_IAP"]   = oRecursoModel.t314_idusuario;
            HttpContext.Current.Session["DES_EMPLEADO_IAP"]   = oRecursoModel.NOMBRE + " " + oRecursoModel.APELLIDO1 + " " + oRecursoModel.APELLIDO2;
            HttpContext.Current.Session["IDFICEPI_IAP"]       = oRecursoModel.t001_IDFICEPI;
            HttpContext.Current.Session["IDRED_IAP"]          = oRecursoModel.t001_codred;
            HttpContext.Current.Session["JORNADA_REDUCIDA"]   = oRecursoModel.t314_jornadareducida;
            HttpContext.Current.Session["CONTROLHUECOS"]      = oRecursoModel.t314_controlhuecos;
            HttpContext.Current.Session["IDCALENDARIO_IAP"]   = oRecursoModel.IdCalendario;
            HttpContext.Current.Session["DESCALENDARIO_IAP"]  = oRecursoModel.desCalendario;
            HttpContext.Current.Session["COD_CENTRO"]         = oRecursoModel.T009_IDCENTRAB;
            HttpContext.Current.Session["DES_CENTRO"]         = oRecursoModel.T009_DESCENTRAB;
            HttpContext.Current.Session["FEC_ULT_IMPUTACION"] = (!oRecursoModel.fUltImputacion.Equals(null)) ? ((DateTime)oRecursoModel.fUltImputacion).ToShortDateString() : null;
            HttpContext.Current.Session["FEC_ALTA"]           = oRecursoModel.t314_falta.ToShortDateString();
            HttpContext.Current.Session["FEC_BAJA"]           = (!Convert.IsDBNull(oRecursoModel.t314_fbaja)) ? ((DateTime)oRecursoModel.t314_fbaja).ToShortDateString() : null;
            HttpContext.Current.Session["UMC_IAP"]            = (!Convert.IsDBNull(oRecursoModel.t303_ultcierreIAP)) ? (int?)oRecursoModel.t303_ultcierreIAP : DateTime.Now.AddMonths(-1).Year * 100 + DateTime.Now.AddMonths(-1).Month;
            HttpContext.Current.Session["NHORASRED"]          = oRecursoModel.t314_horasjor_red;
            HttpContext.Current.Session["FECDESRED"]          = (!Convert.IsDBNull(oRecursoModel.t314_fdesde_red)) ? ((DateTime)oRecursoModel.t314_fdesde_red).ToShortDateString() : null;
            HttpContext.Current.Session["FECHASRED"]          = (!Convert.IsDBNull(oRecursoModel.t314_fhasta_red)) ? ((DateTime)oRecursoModel.t314_fhasta_red).ToShortDateString() : null;
            HttpContext.Current.Session["aSemLab"]            = oRecursoModel.t066_semlabL + "," + oRecursoModel.t066_semlabM + "," + oRecursoModel.t066_semlabX + "," + oRecursoModel.t066_semlabJ + "," + oRecursoModel.t066_semlabV + "," + oRecursoModel.t066_semlabS + "," + oRecursoModel.t066_semlabD;
            HttpContext.Current.Session["SEXOUSUARIO"]        = oRecursoModel.t001_sexo;
            HttpContext.Current.Session["TIPORECURSO"]        = oRecursoModel.tipo;

            return(oRecursoModel);
        }
        catch (Exception ex)
        {
            throw new Exception(System.Uri.EscapeDataString("Error al establecer el usuario." + ex.Message));
        }
        finally
        {
            oFestivosCals.Dispose();
            oRecursos.Dispose();
            DBConn.Dispose();
        }
    }
Beispiel #9
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsCallback)
        {
            Master.TituloPagina      = "Consumos reportados";
            Master.bFuncionesLocales = true;
            Master.FuncionesJavaScript.Add("Javascript/boxover.js");
            try
            {
                //if (!(bool)Session["FORANEOS"])
                //{
                //    this.imgForaneo.Visible = false;
                //    this.lblForaneo.Visible = false;
                //}
                gomaNodo.Attributes.Add("title", "Borra el " + Estructura.getDefLarga(Estructura.sTipoElem.NODO));
                gomaGF.Attributes.Add("title", "Borra el grupo funcional");
                this.lblNodo.InnerText = Estructura.getDefCorta(Estructura.sTipoElem.NODO);
                this.lblNodo.Attributes.Add("title", Estructura.getDefLarga(Estructura.sTipoElem.NODO));
                this.lbl1.InnerText          = "Asociados a proyectos del " + this.lblNodo.InnerText;
                this.lblOtrosNodos.InnerText = "Otros " + this.lblNodo.InnerText + "s";

                es_rgf = (User.IsInRole("RG")) ? "S" : "N";
                bool bEsAdminProduccion = false;
                try {
                    if (SUPER.Capa_Negocio.Utilidades.EsAdminProduccion())
                    {
                        bEsAdminProduccion = true;
                    }
                }
                catch {
                    bEsAdminProduccion = false;
                    SUPER.DAL.Log.Insertar("PSP.Consultas.JornReportadas->Error al llamar a SUPER.Capa_Negocio.Utilidades.EsAdminProduccion" + Session["IDFICEPI_ENTRADA"].ToString());
                }

                if (bEsAdminProduccion)
                {
                    cboCR.Visible      = false;
                    hdnIdNodo.Visible  = true;
                    txtDesNodo.Visible = true;
                    gomaNodo.Visible   = true;

                    cboGF.Visible   = false;
                    hdnIdGF.Visible = true;
                    txtGF.Visible   = true;
                    gomaGF.Visible  = true;
                }
                else
                {
                    cboCR.Visible      = true;
                    hdnIdNodo.Visible  = true;
                    txtDesNodo.Visible = false;
                    cargarNodos();
                    if (es_rgf == "S")
                    {
                        cboGF.Visible   = true;
                        hdnIdGF.Visible = true;
                        txtGF.Visible   = false;
                        if (es_rgf == "N")
                        {
                            gomaNodo.Visible = false;
                            gomaGF.Visible   = false;
                        }
                        cargarGF();
                    }
                }

                DateTime UMC = Fechas.AnnomesAFecha((int)Session["UMC_IAP"]).AddMonths(1).AddDays(-1);

                DateTime MSUMC = new DateTime(UMC.Year, UMC.Month, 1);
                MSUMC = MSUMC.AddMonths(2);
                MSUMC = MSUMC.AddDays(-1);

                this.sMSCMA = MSUMC.ToShortDateString().Substring(6, 4) + MSUMC.ToShortDateString().Substring(3, 2);

                //PREFERENCIAS
                string[] aDatosPref = Regex.Split(getPreferencia(""), "@#@");
                if (bHayPreferencia && aDatosPref[0] == "OK")
                {
                    if (bEsAdminProduccion)
                    {
                        if (aDatosPref[1] != "")
                        {
                            hdnIdNodo.Text  = aDatosPref[1];
                            txtDesNodo.Text = aDatosPref[2];
                        }
                        else
                        {
                            hdnIdGF.Text = aDatosPref[9];
                            txtGF.Text   = aDatosPref[10];
                        }
                    }
                    else
                    {
                        if (aDatosPref[1] != "")
                        {
                            hdnIdNodo.Text      = aDatosPref[1];
                            cboCR.SelectedValue = aDatosPref[1];
                        }
                        else
                        {
                            if (es_rgf == "S")
                            {
                                hdnIdGF.Text        = aDatosPref[9];
                                cboGF.SelectedValue = aDatosPref[9];
                            }
                        }
                    }

                    //string sIncompletos = "1";
                    if (aDatosPref[3] == "0")
                    {
                        //sIncompletos = "0";
                        rdbIncompletos.Items[0].Selected = true;
                        cboIncompletos.Enabled           = false;
                    }
                    else
                    {
                        rdbIncompletos.Items[1].Selected = true;
                        cboIncompletos.SelectedValue     = aDatosPref[3];
                    }

                    chkExternos.Checked = (aDatosPref[4] == "1") ? true : false;
                    chkOtroNodo.Checked = (aDatosPref[5] == "1") ? true : false;
                    chkActuAuto.Checked = (aDatosPref[6] == "1") ? true : false;
                    chkRPA.Checked      = (aDatosPref[7] == "1") ? true : false;
                    chkForaneos.Checked = (aDatosPref[8] == "1") ? true : false;



                    if (chkActuAuto.Checked)
                    {
                        //btnObtener.Disabled = true;

                        string   strTabla = ObtenerJornadasReportadas(MSUMC, aDatosPref[1], aDatosPref[9], aDatosPref[3], aDatosPref[4], aDatosPref[5], aDatosPref[6], aDatosPref[7]);
                        string[] aTabla   = Regex.Split(strTabla, "@#@");
                        if (aTabla[0] == "OK")
                        {
                            divCatalogo2.InnerHtml = aTabla[1];
                        }
                        else
                        {
                            Master.sErrores += Errores.mostrarError(aTabla[1]);
                        }
                    }
                    else
                    {
                        divCatalogo2.InnerHtml = "<table id='tblDatos'></table>";
                    }
                }
                else
                {
                    rdbIncompletos.Items[1].Selected = true;
                    if (aDatosPref[0] == "Error")
                    {
                        Master.sErrores += Errores.mostrarError(aDatosPref[1]);
                    }
                    else
                    {
                        divCatalogo2.InnerHtml = "<table id='tblDatos'></table>";
                        //string strTabla = ObtenerJornadasReportadas(UMC,"","","","","1");
                        //string[] aTabla = Regex.Split(strTabla, "@#@");
                        //if (aTabla[0] == "OK") divCatalogo.InnerHtml = aTabla[1];
                    }
                }
            }
            catch (Exception ex)
            {
                Master.sErrores = Errores.mostrarError("Error al obtener la consulta de jornadas reportadas.", 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);
        }
    }
Beispiel #10
0
    private string obtener(string nAccederBDatos, string sEvolucionMensual, string sDesde, string sHasta, string sDimensiones, string sMagnitudes,
                           string sNodo,
                           string sProyecto,
                           string sCliente,
                           string sResponsable,
                           string sCualidad,
                           string sNaturaleza,
                           string sTablasAuxiliares)
    {
        try
        {
            bool bNodo        = false;
            bool bProyecto    = false;
            bool bCliente     = false;
            bool bResponsable = false;
            bool bCualidad    = false;
            bool bNaturaleza  = false;

            string sFormulas_aux = "", sOrdenDimensiones = "";

            int nTiempoBD   = 0;
            int nTiempoHTML = 0;

            #region Actualización de tablas auxiliares
            string[] aDimensiones = Regex.Split(sDimensiones, "{sep}");
            foreach (string oDim in aDimensiones)
            {
                switch (oDim)
                {
                case "nodo": bNodo = true; sOrdenDimensiones += "2,"; break;

                case "proyecto": bProyecto = true; sOrdenDimensiones += "4,"; break;

                case "cliente": bCliente = true; sOrdenDimensiones += "6,"; break;

                case "responsable": bResponsable = true; sOrdenDimensiones += "8,"; break;

                case "cualidad": bCualidad = true; sOrdenDimensiones += "9,"; break;

                case "naturaleza": bNaturaleza = true; sOrdenDimensiones += "11,"; break;
                }
            }
            sOrdenDimensiones = sOrdenDimensiones.Substring(0, sOrdenDimensiones.Length - 1);

            string[] aMagnitud = Regex.Split(sMagnitudes, "{sep}");
            foreach (string oDa in aMagnitud)
            {
                switch (oDa)
                {
                case "Ingresos_Netos": sFormulas_aux += "1,"; break;

                case "Margen": sFormulas_aux += "2,"; break;

                case "Obra_en_curso": sFormulas_aux += "3,"; break;

                case "Saldo_de_Clientes": sFormulas_aux += "4,"; break;

                case "Total_Cobros": sFormulas_aux += "5,"; break;

                case "Total_Gastos": sFormulas_aux += "6,"; break;

                case "Total_Ingresos": sFormulas_aux += "7,"; break;

                case "Volumen_de_Negocio": sFormulas_aux += "8,"; break;

                case "Otros_consumos": sFormulas_aux += "9,"; break;
                }
            }

            #endregion

            StringBuilder sb = new StringBuilder();
            StringBuilder sbAux = new StringBuilder();
            DataSet       ds = null;
            DateTime?     oDT1 = null, oDT2 = null, oDT3 = null;
            int           nMeses   = 0;
            bool          sw_class = false;

            #region Creación del DataSet
            if (int.Parse(nAccederBDatos) == 1 || Session["DS_CUADROMANDO"] == null)
            {
                if (sEvolucionMensual == "1")
                {
                    oDT1   = DateTime.Now;
                    nMeses = Fechas.DateDiff("month", Fechas.AnnomesAFecha(int.Parse(sDesde)), Fechas.AnnomesAFecha(int.Parse(sHasta))) + 1;
                    ds     = SUPER.DAL.PROYECTOSUBNODO.PruebaDatosTablaDinamicaV5_EM(null, (int)Session["UsuarioActual"], int.Parse(sDesde), int.Parse(sHasta), Session["MONEDA_VDC"].ToString(),
                                                                                     bNodo, bProyecto, bCliente, bResponsable, bCualidad, bNaturaleza,
                                                                                     sNodo, sProyecto, sCliente, sResponsable, sCualidad, sNaturaleza, sFormulas_aux,
                                                                                     (sTablasAuxiliares == "1") ? true : false, sOrdenDimensiones);
                    oDT2 = DateTime.Now;
                }
                else
                {
                    oDT1 = DateTime.Now;
                    ds   = SUPER.DAL.PROYECTOSUBNODO.PruebaDatosTablaDinamicaV5(null, (int)Session["UsuarioActual"], int.Parse(sDesde), int.Parse(sHasta), Session["MONEDA_VDC"].ToString(),
                                                                                bNodo, bProyecto, bCliente, bResponsable, bCualidad, bNaturaleza,
                                                                                sNodo, sProyecto, sCliente, sResponsable, sCualidad, sNaturaleza,
                                                                                (sTablasAuxiliares == "1") ? true : false, sOrdenDimensiones);
                    oDT2 = DateTime.Now;
                }

                Session["DS_CUADROMANDO"] = ds;
            }
            else
            {
                oDT1 = DateTime.Now;
                ds   = (DataSet)Session["DS_CUADROMANDO"];
                oDT2 = DateTime.Now;
            }
            #endregion

            if (sEvolucionMensual == "1")
            {
                #region Con Evolución Mensual

                sb.Append("<table id='tblDatos' style='width:auto;' cellpadding='0' cellspacing='0' border='0'>");
                sb.Append("<tr id='rowTituloDatos'>");

                foreach (string oCol in aDimensiones)
                {
                    switch (oCol)
                    {
                    //La imagen "imgMoveWhite.png" tiene que ser el primer objeto de la celda para que se puedan
                    //arrastrar las columnas.
                    case "nodo": sb.Append("<th dimension='nodo' class='Dimension'><img src='../../../Images/imgMoveWhite.png' class='move' /><label style='vertical-align:middle;'>" + Estructura.getDefLarga(Estructura.sTipoElem.NODO) + "</label><img src='../../../Images/imgSelector.png' class='selector' onclick=setFiltros('nodo') /></th>"); break;

                    case "proyecto": sb.Append("<th dimension='proyecto' class='Dimension'><img src='../../../Images/imgMoveWhite.png' class='move' /><label style='vertical-align:middle;'>Proyecto</label><img src='../../../Images/imgSelector.png' class='selector' onclick=setFiltros('proyecto') /></th>"); break;

                    case "cliente": sb.Append("<th dimension='cliente' class='Dimension'><img src='../../../Images/imgMoveWhite.png' class='move' /><label style='vertical-align:middle;'>Cliente</label><img src='../../../Images/imgSelector.png' class='selector' onclick=setFiltros('cliente') /></th>"); break;

                    case "responsable": sb.Append("<th dimension='responsable' class='Dimension'><img src='../../../Images/imgMoveWhite.png' class='move' /><label style='vertical-align:middle;'>Responsable</label><img src='../../../Images/imgSelector.png' class='selector' onclick=setFiltros('responsable') /></th>"); break;

                    case "cualidad": sb.Append("<th dimension='cualidad' class='Dimension'><img src='../../../Images/imgMoveWhite.png' class='move' /><label style='vertical-align:middle;'>Cualidad</label><img src='../../../Images/imgSelector.png' class='selector' onclick=setFiltros('cualidad') /></th>"); break;

                    case "naturaleza": sb.Append("<th dimension='naturaleza' class='Dimension'><img src='../../../Images/imgMoveWhite.png' class='move' /><label style='vertical-align:middle;'>Naturaleza</label><img src='../../../Images/imgSelector.png' class='selector' onclick=setFiltros('naturaleza') /></th>"); break;
                    }
                }

                sb.Append("<th class='Dimension'>Indicadores</th>");
                for (int i = 14; i < ds.Tables[0].Columns.Count; i++)
                {
                    if (i == 14)
                    {
                        string[] aRango = Regex.Split(ds.Tables[0].Columns[i].ColumnName, "-");
                        sb.Append("<th>" + Fechas.AnnomesAFechaDescCorta(int.Parse(aRango[0])) + " - " + Fechas.AnnomesAFechaDescCorta(int.Parse(aRango[1])) + "</th>");
                    }
                    else
                    {
                        sb.Append("<th>" + Fechas.AnnomesAFechaDescCorta(int.Parse(ds.Tables[0].Columns[i].ColumnName)) + "</th>");
                    }
                }
                sb.Append("</tr>");
                sb.Append("</table>");
                #endregion
                sb.Append("{sep}");
                #region HTML Filas
                sb.Append("<table id='tblDatosBody' style='width:auto;' cellpadding='0' cellspacing='0' border='0'>");
                foreach (DataRow oFila in ds.Tables[0].Rows) //Datos
                {
                    sb.Append("<tr ");

                    if (bNodo)
                    {
                        sb.Append("idnodo='" + oFila["t303_idnodo"].ToString() + "' ");
                        sb.Append("desnodo=\"" + Utilidades.escape(oFila["t303_denominacion"].ToString()) + "\" ");
                    }
                    if (bProyecto)
                    {
                        sb.Append("idproyecto='" + oFila["t301_idproyecto"].ToString() + "' ");
                        sb.Append("desproyecto=\"" + Utilidades.escape(oFila["t301_denominacion"].ToString()) + "\" ");
                    }
                    if (bCliente)
                    {
                        sb.Append("idcliente='" + oFila["t302_idcliente"].ToString() + "' ");
                        sb.Append("descliente=\"" + Utilidades.escape(oFila["t302_denominacion"].ToString()) + "\" ");
                    }
                    if (bResponsable)
                    {
                        sb.Append("idresponsable='" + oFila["t314_idusuario_responsable"].ToString() + "' ");
                        sb.Append("desresponsable=\"" + Utilidades.escape(oFila["ResponsableProyecto"].ToString()) + "\" ");
                    }
                    if (bCualidad)
                    {
                        sb.Append("cualidad='" + oFila["t305_cualidad"].ToString() + "' ");
                        switch (oFila["t305_cualidad"].ToString())
                        {
                        case "C": sb.Append("descualidad=\"Contratante\" "); break;

                        case "P": sb.Append("descualidad=\"Replicada con gestión\" "); break;

                        case "J": sb.Append("descualidad=\"Replicada sin gestión\" "); break;
                        }
                    }
                    if (bNaturaleza)
                    {
                        sb.Append("idnaturaleza='" + oFila["t323_idnaturaleza"].ToString() + "' ");
                        sb.Append("desnaturaleza=\"" + Utilidades.escape(oFila["t323_denominacion"].ToString()) + "\" ");
                    }

                    sb.Append(">");

                    foreach (string oDato in aDimensiones)
                    {
                        switch (oDato)
                        {
                        case "nodo": sb.Append("<td" + ((!sw_class) ? " class='Dimension'" : "") + ">" + oFila["t303_denominacion"].ToString() + "</td>"); break;

                        case "proyecto": sb.Append("<td" + ((!sw_class) ? " class='Dimension'" : "") + ">" + int.Parse(oFila["t301_idproyecto"].ToString()).ToString("#,###") + " - " + oFila["t301_denominacion"].ToString() + "</td>"); break;

                        case "cliente": sb.Append("<td" + ((!sw_class) ? " class='Dimension'" : "") + ">" + oFila["t302_denominacion"].ToString() + "</td>"); break;

                        case "responsable": sb.Append("<td" + ((!sw_class) ? " class='Dimension'" : "") + ">" + oFila["ResponsableProyecto"].ToString() + "</td>"); break;

                        case "cualidad":
                            switch (oFila["t305_cualidad"].ToString())
                            {
                            case "C": sb.Append("<td" + ((!sw_class) ? " class='Dimension'" : "") + ">Contratante</td>"); break;

                            case "P": sb.Append("<td" + ((!sw_class) ? " class='Dimension'" : "") + ">Replicada con gestión</td>"); break;

                            case "J": sb.Append("<td" + ((!sw_class) ? " class='Dimension'" : "") + ">Replicada sin gestión</td>"); break;
                            }
                            break;

                        case "naturaleza": sb.Append("<td" + ((!sw_class) ? " class='Dimension'" : "") + ">" + oFila["t323_denominacion"].ToString() + "</td>"); break;
                        }
                    }



                    for (int i = 12; i < ds.Tables[0].Columns.Count; i++)
                    {
                        if (i == 13)
                        {
                            continue;          //numrow
                        }
                        if (i == 12)
                        {
                            sb.Append("<td" + ((!sw_class) ? " class='Dimension'" : "") + ">" + oFila[ds.Tables[0].Columns[i].ColumnName].ToString() + "</td>");
                        }
                        else
                        {
                            sb.Append("<td magnitud='" + oFila[ds.Tables[0].Columns[12].ColumnName].ToString() + "' formula='" + oFila[ds.Tables[0].Columns[11].ColumnName].ToString() + "' mes='" + ds.Tables[0].Columns[i].ColumnName + "' ondblclick='gp(this);' class='MA " + ((i == 14) ? "MagPeriodo" : "Mag") + "'>" + ((decimal.Parse(oFila[ds.Tables[0].Columns[i].ColumnName].ToString()).ToString("N") == "0,00") ? "" : decimal.Parse(oFila[ds.Tables[0].Columns[i].ColumnName].ToString()).ToString("N")) + "</td>");
                        }
                    }

                    sb.Append("</tr>");
                }
                sb.Append("</table>");
                #endregion
            }
            else
            {
                #region Sin Evolución Mensual
                sb.Append("<table id='tblDatos' style='width:auto;' cellpadding='0' cellspacing='0' border='0'>");
                sb.Append("<tr id='rowTituloDatos'>");

                foreach (string oCol in aDimensiones)
                {
                    switch (oCol)
                    {
                    //La imagen "imgMoveWhite.png" tiene que ser el primer objeto de la celda
                    //para que se puedan arrastrar las columnas.
                    case "nodo": sb.Append("<th dimension='nodo' class='Dimension'><img src='../../../Images/imgMoveWhite.png' class='move' /><label style='vertical-align:middle;'>" + Estructura.getDefLarga(Estructura.sTipoElem.NODO) + "</label><img src='../../../Images/imgSelector.png' class='selector' onclick=setFiltros('nodo') /></th>"); break;

                    case "proyecto": sb.Append("<th dimension='proyecto' class='Dimension'><img src='../../../Images/imgMoveWhite.png' class='move' /><label style='vertical-align:middle;'>Proyecto</label><img src='../../../Images/imgSelector.png' class='selector' onclick=setFiltros('proyecto') /></th>"); break;

                    case "cliente": sb.Append("<th dimension='cliente' class='Dimension'><img src='../../../Images/imgMoveWhite.png' class='move' /><label style='vertical-align:middle;'>Cliente</label><img src='../../../Images/imgSelector.png' class='selector' onclick=setFiltros('cliente') /></th>"); break;

                    case "responsable": sb.Append("<th dimension='responsable' class='Dimension'><img src='../../../Images/imgMoveWhite.png' class='move' /><label style='vertical-align:middle;'>Responsable</label><img src='../../../Images/imgSelector.png' class='selector' onclick=setFiltros('responsable') /></th>"); break;

                    case "cualidad": sb.Append("<th dimension='cualidad' class='Dimension'><img src='../../../Images/imgMoveWhite.png' class='move' /><label style='vertical-align:middle;'>Cualidad</label><img src='../../../Images/imgSelector.png' class='selector' onclick=setFiltros('cualidad') /></th>"); break;

                    case "naturaleza": sb.Append("<th dimension='naturaleza' class='Dimension'><img src='../../../Images/imgMoveWhite.png' class='move' /><label style='vertical-align:middle;'>Naturaleza</label><img src='../../../Images/imgSelector.png' class='selector' onclick=setFiltros('naturaleza') /></th>"); break;
                    }
                }

                foreach (string oCol in aMagnitud)
                {
                    switch (oCol)
                    {
                    case "Ingresos_Netos": sb.Append("<th class='MagTit' title='Ingresos netos'>Ing. netos</th>"); break;

                    case "Margen": sb.Append("<th class='MagTit' title='Margen de contribución'>Margen</th>"); break;

                    case "Obra_en_curso": sb.Append("<th class='MagTit' title='Obra en curso'>Obra en curso</th>"); break;

                    case "Saldo_de_Clientes": sb.Append("<th class='MagTit' title='Saldo de clientes'>Saldo cli.</th>"); break;

                    case "Total_Cobros": sb.Append("<th class='MagTit' title='Total cobros'>T. cobros</th>"); break;

                    case "Total_Gastos": sb.Append("<th class='MagTit' title='Total gastos'>T. gastos</th>"); break;

                    case "Total_Ingresos": sb.Append("<th class='MagTit' title='Total ingresos'>T. ingresos</th>"); break;

                    case "Volumen_de_Negocio": sb.Append("<th class='MagTit' title='Volumen de negocio'>Vol. negocio</th>"); break;

                    case "Otros_consumos": sb.Append("<th class='MagTit' title='Otros consumos'>Otros consumos</th>"); break;
                    }
                }
                sb.Append("</tr>");
                sb.Append("</table>");
                #endregion
                sb.Append("{sep}");
                #region HTML Filas
                sb.Append("<table id='tblDatosBody' style='width:auto;' cellpadding='0' cellspacing='0' border='0'>");
                foreach (DataRow oFila in ds.Tables[0].Rows) //Datos
                {
                    sb.Append("<tr ");

                    if (bNodo)
                    {
                        sb.Append("idnodo='" + oFila["t303_idnodo"].ToString() + "' ");
                        //sb.Append("desnodo=\"" + Utilidades.escape(oFila["t303_denominacion"].ToString()) + "\" ");
                    }
                    if (bProyecto)
                    {
                        sb.Append("idproyecto='" + oFila["t301_idproyecto"].ToString() + "' ");
                        //sb.Append("desproyecto=\"" + Utilidades.escape(oFila["t301_denominacion"].ToString()) + "\" ");
                    }
                    if (bCliente)
                    {
                        sb.Append("idcliente='" + oFila["t302_idcliente"].ToString() + "' ");
                        //sb.Append("descliente=\"" + Utilidades.escape(oFila["t302_denominacion"].ToString()) + "\" ");
                    }
                    if (bResponsable)
                    {
                        sb.Append("idresponsable='" + oFila["t314_idusuario_responsable"].ToString() + "' ");
                        //sb.Append("desresponsable=\"" + Utilidades.escape(oFila["ResponsableProyecto"].ToString()) + "\" ");
                    }
                    if (bCualidad)
                    {
                        sb.Append("idcualidad='" + oFila["t305_cualidad"].ToString() + "' ");
                        //switch (oFila["t305_cualidad"].ToString())
                        //{
                        //    case "C": sb.Append("descualidad=\"Contratante\" "); break;
                        //    case "P": sb.Append("descualidad=\"Replicada con gestión\" "); break;
                        //    case "J": sb.Append("descualidad=\"Replicada sin gestión\" "); break;
                        //}
                    }
                    if (bNaturaleza)
                    {
                        sb.Append("idnaturaleza='" + oFila["t323_idnaturaleza"].ToString() + "' ");
                        //sb.Append("desnaturaleza=\"" + Utilidades.escape(oFila["t323_denominacion"].ToString()) + "\" ");
                    }

                    sb.Append(">");

                    foreach (string oDato in aDimensiones)
                    {
                        switch (oDato)
                        {
                        case "nodo": sb.Append("<td" + ((!sw_class) ? " class='Dimension'" : "") + ">" + oFila["t303_denominacion"].ToString() + "</td>"); break;

                        case "proyecto": sb.Append("<td" + ((!sw_class) ? " class='Dimension'" : "") + ">" + int.Parse(oFila["t301_idproyecto"].ToString()).ToString("#,###") + " - " + oFila["t301_denominacion"].ToString() + "</td>"); break;

                        case "cliente": sb.Append("<td" + ((!sw_class) ? " class='Dimension'" : "") + ">" + oFila["t302_denominacion"].ToString() + "</td>"); break;

                        case "responsable": sb.Append("<td" + ((!sw_class) ? " class='Dimension'" : "") + ">" + oFila["ResponsableProyecto"].ToString() + "</td>"); break;

                        case "cualidad":
                            switch (oFila["t305_cualidad"].ToString())
                            {
                            case "C": sb.Append("<td" + ((!sw_class) ? " class='Dimension'" : "") + ">Contratante</td>"); break;

                            case "P": sb.Append("<td" + ((!sw_class) ? " class='Dimension'" : "") + ">Replicada con gestión</td>"); break;

                            case "J": sb.Append("<td" + ((!sw_class) ? " class='Dimension'" : "") + ">Replicada sin gestión</td>"); break;
                            }
                            break;

                        case "naturaleza": sb.Append("<td" + ((!sw_class) ? " class='Dimension'" : "") + ">" + oFila["t323_denominacion"].ToString() + "</td>"); break;
                        }
                    }

                    foreach (string oCol in aMagnitud)
                    {
                        switch (oCol)
                        {
                        case "Ingresos_Netos": sb.Append("<td magnitud='Ingresos_Netos' formula='1' ondblclick='gp(this);' class='MA Mag'>" + ((decimal.Parse(oFila["Ingresos_Netos"].ToString()).ToString("N") == "0,00") ? "" : decimal.Parse(oFila["Ingresos_Netos"].ToString()).ToString("N")) + "</td>"); break;

                        case "Margen": sb.Append("<td magnitud='Margen' formula='2' ondblclick='gp(this);' class='MA Mag'>" + ((decimal.Parse(oFila["Margen"].ToString()).ToString("N") == "0,00") ? "" : decimal.Parse(oFila["Margen"].ToString()).ToString("N")) + "</td>"); break;

                        case "Obra_en_curso": sb.Append("<td magnitud='Obra_en_curso' formula='3' ondblclick='gp(this);' class='MA Mag'>" + ((decimal.Parse(oFila["Obra_en_curso"].ToString()).ToString("N") == "0,00") ? "" : decimal.Parse(oFila["Obra_en_curso"].ToString()).ToString("N")) + "</td>"); break;

                        case "Saldo_de_Clientes": sb.Append("<td magnitud='Saldo_de_Clientes' formula='4' ondblclick='gp(this);' class='MA Mag'>" + ((decimal.Parse(oFila["Saldo_de_Clientes"].ToString()).ToString("N") == "0,00") ? "" : decimal.Parse(oFila["Saldo_de_Clientes"].ToString()).ToString("N")) + "</td>"); break;

                        case "Total_Cobros": sb.Append("<td magnitud='Total_Cobros' formula='5' ondblclick='gp(this);' class='MA Mag'>" + ((decimal.Parse(oFila["Total_Cobros"].ToString()).ToString("N") == "0,00") ? "" : decimal.Parse(oFila["Total_Cobros"].ToString()).ToString("N")) + "</td>"); break;

                        case "Total_Gastos": sb.Append("<td magnitud='Total_Gastos' formula='6' ondblclick='gp(this);' class='MA Mag'>" + ((decimal.Parse(oFila["Total_Gastos"].ToString()).ToString("N") == "0,00") ? "" : decimal.Parse(oFila["Total_Gastos"].ToString()).ToString("N")) + "</td>"); break;

                        case "Total_Ingresos": sb.Append("<td magnitud='Total_Ingresos' formula='7' ondblclick='gp(this);' class='MA Mag'>" + ((decimal.Parse(oFila["Total_Ingresos"].ToString()).ToString("N") == "0,00") ? "" : decimal.Parse(oFila["Total_Ingresos"].ToString()).ToString("N")) + "</td>"); break;

                        case "Volumen_de_Negocio": sb.Append("<td magnitud='Volumen_de_Negocio' formula='8' ondblclick='gp(this);' class='MA Mag'>" + ((decimal.Parse(oFila["Volumen_de_Negocio"].ToString()).ToString("N") == "0,00") ? "" : decimal.Parse(oFila["Volumen_de_Negocio"].ToString()).ToString("N")) + "</td>"); break;

                        case "Otros_consumos": sb.Append("<td magnitud='Otros_consumos' formula='9' ondblclick='gp(this);' class='MA Mag'>" + ((decimal.Parse(oFila["Otros_consumos"].ToString()).ToString("N") == "0,00") ? "" : decimal.Parse(oFila["Otros_consumos"].ToString()).ToString("N")) + "</td>"); break;
                        }
                    }
                    sb.Append("</tr>");
                    sw_class = true;
                }
                sb.Append("</table>");
                #endregion
            }

            #region Arrays javascript
            if (sTablasAuxiliares == "1")
            {
                int i = 0;
                sbAux.Append("@#@");
                foreach (DataRow oFila in ds.Tables[1].Rows)                                                                                                                                                 //Nodos
                {
                    sbAux.Append("js_Nodo[" + i.ToString() + "] = { \"c\":" + oFila["t303_idnodo"].ToString() + ", \"d\":\"" + Utilidades.escape(oFila["t303_denominacion"].ToString()) + "\", \"m\":1 };"); //c: codigo, d:denominacion, m:marcado
                    i++;
                }
                i = 0;
                sbAux.Append("@#@");
                foreach (DataRow oFila in ds.Tables[2].Rows) //Proyecto
                {
                    sbAux.Append("js_Proyecto[" + i.ToString() + "] = { \"c\":" + oFila["t301_idproyecto"].ToString() + ", \"d\":\"" + Utilidades.escape(int.Parse(oFila["t301_idproyecto"].ToString()).ToString("#,###") + " - " + oFila["t301_denominacion"].ToString()) + "\", \"m\":1 };");
                    i++;
                }
                i = 0;
                sbAux.Append("@#@");
                foreach (DataRow oFila in ds.Tables[3].Rows) //Cliente
                {
                    sbAux.Append("js_Cliente[" + i.ToString() + "] = { \"c\":" + oFila["t302_idcliente"].ToString() + ", \"d\":\"" + Utilidades.escape(oFila["t302_denominacion"].ToString()) + "\", \"m\":1 };");
                    i++;
                }
                i = 0;
                sbAux.Append("@#@");
                foreach (DataRow oFila in ds.Tables[4].Rows) //Responsable proyecto
                {
                    sbAux.Append("js_Responsable[" + i.ToString() + "] = { \"c\":" + oFila["t314_idusuario_responsable"].ToString() + ", \"d\":\"" + Utilidades.escape(oFila["ResponsableProyecto"].ToString()) + "\", \"m\":1 };");
                    i++;
                }
                i = 0;
                sbAux.Append("@#@");
                foreach (DataRow oFila in ds.Tables[5].Rows) //Cualidad
                {
                    string sCualidadAux = "";
                    switch (oFila["t305_cualidad"].ToString())
                    {
                    case "C": sCualidadAux = "Contratante"; break;

                    case "P": sCualidadAux = "Replicada con gestión"; break;

                    case "J": sCualidadAux = "Replicada sin gestión"; break;
                    }

                    sbAux.Append("js_Cualidad[" + i.ToString() + "] = { \"c\":\"" + oFila["t305_cualidad"].ToString() + "\", \"d\":\"" + Utilidades.escape(sCualidadAux) + "\", \"m\":1 };");
                    i++;
                }
                i = 0;
                sbAux.Append("@#@");
                foreach (DataRow oFila in ds.Tables[6].Rows) //Naturaleza
                {
                    sbAux.Append("js_Naturaleza[" + i.ToString() + "] = { \"c\":" + oFila["t323_idnaturaleza"].ToString() + ", \"d\":\"" + Utilidades.escape(oFila["t323_denominacion"].ToString()) + "\", \"m\":1 };");
                    i++;
                }
            }
            #endregion

            ds.Dispose();


            oDT3 = DateTime.Now;
            //nTiempoBD = Fechas.DateDiff("mm", (DateTime)oDT1, (DateTime)oDT2);
            //nTiempoHTML = Fechas.DateDiff("mm", (DateTime)oDT2, (DateTime)oDT3);
            nTiempoBD   = (int)((TimeSpan)(oDT2 - oDT1)).TotalMilliseconds;
            nTiempoHTML = (int)((TimeSpan)(oDT3 - oDT2)).TotalMilliseconds;



            return("OK@#@" + sb.ToString() + "@#@"
                   + nTiempoBD.ToString() + "@#@"
                   + nTiempoHTML.ToString()
                   + sbAux.ToString());
        }
        catch (Exception ex)
        {
            return("Error@#@" + Errores.mostrarError("Error al obtener los datos.", ex));
        }
    }
    private string ObtenerTareas(string sPSN, string sPT)
    {
        StringBuilder sb       = new StringBuilder();
        string        sDisplay = "";
        //string sFechaAux = "";
        bool bEstadoLectura = false;

        try
        {
            //SqlDataReader dr = Consumo.ObtenerTareasImpMasiva_T((hdnIdUsuario.Text != "0") ? int.Parse(hdnIdUsuario.Text) : (int)Session["UsuarioActual"], int.Parse(sPT), Fechas.AnnomesAFecha((int)Session["UMC_IAP"]).AddMonths(1).AddDays(-1));
            //SqlDataReader dr = Consumo.ObtenerTareasImpMasiva_T((hdnIdUsuario.Text != "0") ? int.Parse(hdnIdUsuario.Text) : (int)Session["UsuarioActual"], int.Parse(sPT), Fechas.AnnomesAFecha((int)Session["UMC_IAP"]));
            SqlDataReader dr = Consumo.ObtenerTareasImpMasiva_T((hdnIdUsuario.Text != "0") ? int.Parse(hdnIdUsuario.Text) : (int)Session["UsuarioActual"], int.Parse(sPT), Fechas.AnnomesAFecha((int)Session["UMC_IAP"]), (hdnInicioImpu.Text == "") ? null : (DateTime?)DateTime.Parse(hdnInicioImpu.Text), (hdnFinImpu.Text == "") ? null : (DateTime?)DateTime.Parse(hdnFinImpu.Text));

            while (dr.Read())
            {
                bEstadoLectura = false;

                #region Creación tabla HTML
                sb.Append("<tr id='" + dr["t332_idtarea"].ToString() + "' ");
                sb.Append("bd='' ");
                sb.Append("tipo=" + dr["tipo"].ToString() + " ");
                sb.Append("PSN=" + sPSN + " ");
                sb.Append("PT=" + sPT + " ");
                sb.Append("F=" + dr["t334_idfase"].ToString() + " ");
                sb.Append("A=" + dr["t335_idactividad"].ToString() + " ");
                sb.Append("T=" + dr["t332_idtarea"].ToString() + " ");
                sb.Append("estado=" + dr["t332_estado"].ToString() + " ");

                sb.Append("ImpFes=" + dr["t323_regfes"].ToString() + " ");
                sb.Append("NOJC=" + dr["t323_regjornocompleta"].ToString() + " ");
                sb.Append("Obligaest=" + dr["t331_obligaest"].ToString() + " ");
                //sb.Append("ete=" + dr["t336_ete"].ToString() + " ");

                //sFechaAux = dr["t336_ffe"].ToString();
                //if (sFechaAux != "") sFechaAux = DateTime.Parse(sFechaAux).ToShortDateString();
                //sb.Append("ffe='" + sFechaAux + "' ");

                //sb.Append("Comentario=\"" + Utilidades.escape(dr["t336_comentario"].ToString()) + "\" ");

                if ((int)dr["t332_idtarea"] > 0)
                {
                    if ((int)dr["t335_idactividad"] > 0)
                    {
                        sDisplay = "none";
                    }
                    else
                    {
                        sDisplay = "table-row";
                    }

                    sb.Append("style='display: " + sDisplay + "; height:22px; cursor:pointer;' ");
                    sb.Append("bd='' desplegado=0 nivel=" + dr["nivel"].ToString() + " >");//exp=4

                    sb.Append("<td");

                    switch ((int)dr["t332_estado"]) //Estado
                    {
                    case 0:                         //Paralizada
                    case 2:                         //Pendiente
                        bEstadoLectura = true;
                        //sb.Append(" style='cursor:default;'");
                        break;

                    case 1:    //Activo
                        //sb.Append(" class='MA' ondblclick=\"aceptarClick(this)\"");
                        break;

                    case 3:    //Finalizada
                    case 4:    //Cerrada
                        if ((int)dr["t332_impiap"] == 0)
                        {
                            bEstadoLectura = true;      //si impiap = 0, lectura
                            //sb.Append(" style='cursor:default;'");
                        }
                        break;
                    }
                    if (dr["t301_estado"].ToString() == "C")
                    {
                        bEstadoLectura = true;
                    }

                    if (!bEstadoLectura)
                    {
                        sb.Append(" class='MA' ondblclick=\"aceptarClick(this)\"");
                    }
                    else
                    {
                        sb.Append(" style='cursor:default;'");
                    }

                    sb.Append("><IMG class=N" + dr["nivel"].ToString() + " src='../../../../images/imgSeparador.gif' style='width:9px;cursor:pointer;margin-left:3px;'><IMG class='ICO' src='../../../../images/imgTareaOff.gif'>");

                    switch ((int)dr["nivel"])
                    {
                    case 3: sb.Append("<nobr class='NBR W460 "); break;

                    case 4: sb.Append("<nobr class='NBR W445 "); break;

                    case 5: sb.Append("<nobr class='NBR W430 "); break;
                    }

                    switch ((int)dr["t332_estado"]) //Estado
                    {
                    case 0:                         //Paralizada
                        sb.Append(" paralizada");
                        break;

                    case 1:                                 //Activo
                        if ((int)dr["t331_obligaest"] == 1) //OBLIGAEST
                        {
                            sb.Append(" tooltip ");
                        }
                        break;

                    case 2:    //Pendiente
                        sb.Append(" pendiente ");
                        break;

                    case 3:    //Finalizada
                        sb.Append(" finalizada ");
                        break;

                    case 4:    //Cerrada
                        sb.Append(" cerrada ");
                        break;
                    }

                    sb.Append("' onmouseover='TTip(event)'>" + int.Parse(dr["t332_idtarea"].ToString()).ToString("#,###") + " - " + dr["denominacion"].ToString() + "</nobr></td>");
                }
                else if ((int)dr["t335_idactividad"] > 0)
                {
                    if ((int)dr["t334_idfase"] > 0)
                    {
                        sb.Append(" style='DISPLAY: none; height:22px;' bd='' desplegado=1 nivel=" + dr["nivel"].ToString() + " exp=3>");
                    }
                    else
                    {
                        sb.Append(" style='DISPLAY: table-row; height:22px;' bd='' desplegado=1 nivel=" + dr["nivel"].ToString() + " exp=3>");
                    }
                    sb.Append("<td><IMG class=N" + dr["nivel"].ToString() + " onclick=mostrar(this) src='../../../../images/plus.gif' style='cursor:pointer; margin-left:3px;'><IMG class='ICO' src='../../../../images/imgActividadOff.gif'>");
                    switch ((int)dr["nivel"])
                    {
                    case 3: sb.Append("<nobr class='NBR W360' onmouseover='TTip(event)'>"); break;

                    case 4: sb.Append("<nobr class='NBR W345' onmouseover='TTip(event)'>"); break;
                    }
                    sb.Append(dr["denominacion"].ToString() + "</nobr></td>");
                }
                else if ((int)dr["t334_idfase"] > 0)
                {
                    sb.Append(" style='DISPLAY: table-row; height:22px;' bd='' desplegado=1 nivel=" + dr["nivel"].ToString() + " exp=3>");
                    sb.Append("<td><IMG class=N" + dr["nivel"].ToString() + " onclick=mostrar(this) src='../../../../images/plus.gif' style='cursor:pointer;margin-left:3px;'><IMG class='ICO' src='../../../../images/imgFaseOff.gif'><nobr class='NBR W190' onmouseover='TTip(event)'>" + dr["denominacion"].ToString() + "</nobr></td>");
                }

                sb.Append("</tr>" + (char)10);
                #endregion
            }
            dr.Close();
            dr.Dispose();

            sb.Append("</table>");

            return("OK@#@" + sb.ToString());
        }
        catch (Exception ex)
        {
            return("Error@#@" + Errores.mostrarError("Error al obtener las tareas.", ex));
        }
    }
    private string ObtenerPT(string sPSN)
    {
        StringBuilder sb = new StringBuilder();

        try
        {
            //SqlDataReader dr = Consumo.ObtenerTareasImpMasiva_PT((hdnIdUsuario.Text != "0") ? int.Parse(hdnIdUsuario.Text) : (int)Session["UsuarioActual"], int.Parse(sPSN), Fechas.AnnomesAFecha((int)Session["UMC_IAP"]).AddMonths(1).AddDays(-1));
            //SqlDataReader dr = Consumo.ObtenerTareasImpMasiva_PT((hdnIdUsuario.Text != "0") ? int.Parse(hdnIdUsuario.Text) : (int)Session["UsuarioActual"], int.Parse(sPSN), Fechas.AnnomesAFecha((int)Session["UMC_IAP"]));
            SqlDataReader dr = Consumo.ObtenerTareasImpMasiva_PT((hdnIdUsuario.Text != "0") ? int.Parse(hdnIdUsuario.Text) : (int)Session["UsuarioActual"], int.Parse(sPSN), Fechas.AnnomesAFecha((int)Session["UMC_IAP"]), (hdnInicioImpu.Text == "") ? null : (DateTime?)DateTime.Parse(hdnInicioImpu.Text), (hdnFinImpu.Text == "") ? null : (DateTime?)DateTime.Parse(hdnFinImpu.Text));

            while (dr.Read())
            {
                #region Creación tabla HTML
                sb.Append("<tr id='" + dr["t331_idpt"].ToString() + "' ");
                sb.Append("tipo='PT' ");
                sb.Append("PSN=" + sPSN + " ");
                sb.Append("PT=" + dr["t331_idpt"].ToString() + " ");
                sb.Append("F=0 ");
                sb.Append("A=0 ");
                sb.Append("T=0 ");
                sb.Append("style='height:22px;' bd='' desplegado=0 nivel=" + dr["nivel"].ToString() + " exp=2>");

                sb.Append("<td><IMG class=N" + dr["nivel"].ToString() + " onclick=mostrar(this) src='../../../../images/plus.gif' style='cursor:pointer;'><IMG class='ICO' src='../../../../images/imgProyTecOff.gif'>");
                sb.Append("<nobr class='NBR W475'>" + dr["t331_despt"].ToString() + "</nobr></td>");

                sb.Append("</tr>" + (char)10);
                #endregion
            }
            dr.Close();
            dr.Dispose();

            sb.Append("</table>");

            return("OK@#@" + sb.ToString());
        }
        catch (Exception ex)
        {
            return("Error@#@" + Errores.mostrarError("Error al obtener los proyectos técnicos.", ex));
        }
    }
    private string ObtenerPSN()
    {
        StringBuilder sb = new StringBuilder();

        try
        {
            sb.Append("<table id='tblDatos' class='texto' style='WIDTH: 600px;'>");
            sb.Append("<tbody>");

            //SqlDataReader dr = Consumo.ObtenerTareasImpMasiva_PSN((hdnIdUsuario.Text != "0") ? int.Parse(hdnIdUsuario.Text) : (int)Session["UsuarioActual"], Fechas.AnnomesAFecha((int)Session["UMC_IAP"]).AddMonths(1).AddDays(-1));
            //SqlDataReader dr = Consumo.ObtenerTareasImpMasiva_PSN((hdnIdUsuario.Text != "0") ? int.Parse(hdnIdUsuario.Text) : (int)Session["UsuarioActual"], Fechas.AnnomesAFecha((int)Session["UMC_IAP"]));

            SqlDataReader dr = Consumo.ObtenerTareasImpMasiva_PSN((hdnIdUsuario.Text != "0") ? int.Parse(hdnIdUsuario.Text) : (int)Session["UsuarioActual"], Fechas.AnnomesAFecha((int)Session["UMC_IAP"]), (hdnInicioImpu.Text == "") ? null : (DateTime?)DateTime.Parse(hdnInicioImpu.Text), (hdnFinImpu.Text == "") ? null : (DateTime?)DateTime.Parse(hdnFinImpu.Text));

            while (dr.Read())
            {
                #region Creación tabla HTML
                sb.Append("<tr id='" + dr["t305_idproyectosubnodo"].ToString() + "' ");
                sb.Append("tipo='PSN' PSN=" + dr["t305_idproyectosubnodo"].ToString() + " ");
                sb.Append("PT=0 F=0 A=0 T=0 style='height:22px;' bd='' desplegado=0 nivel=1 exp=1>");

                sb.Append("<td style='text-align:left;padding-left:3px;'><IMG class=N1 onclick=mostrar(this) src='../../../../images/plus.gif' style='cursor:pointer;'>");
                if (dr["t301_estado"].ToString() == "A")
                {
                    sb.Append("<IMG class='ICO' src='../../../../images/imgIconoProyAbierto.gif' title='Proyecto abierto'>");
                }
                else
                {
                    sb.Append("<IMG class='ICO' src='../../../../images/imgIconoProyCerrado.gif' title='Proyecto cerrado'>");
                }
                sb.Append("<nobr class='NBR W490' style='noWrap:true;' title=\"cssbody=[dvbdy] cssheader=[dvhdr] header=[<img src='../../../../images/info.gif' style='vertical-align:middle' />  Información] body=[<label style='width:70px'>Proyecto:</label>" + dr["t301_denominacion"].ToString().Replace((char)34, (char)39) + "<br><label style='width:70px'>Responsable:</label>" + dr["responsable"].ToString().Replace((char)34, (char)39) + "<br><label style='width:70px'>" + Estructura.getDefCorta(Estructura.sTipoElem.NODO) + ":</label>" + dr["t303_denominacion"].ToString().Replace((char)34, (char)39) + "<br><label style='width:70px'>Cliente:</label>" + dr["t302_denominacion"].ToString().Replace((char)34, (char)39) + "] hideselects=[off]\">" + int.Parse(dr["t301_idproyecto"].ToString()).ToString("#,###") + " - " + dr["t305_seudonimo"].ToString().Replace((char)34, (char)39) + "</nobr></td>");

                sb.Append("</tr>" + (char)10);

                #endregion
            }
            dr.Close();
            dr.Dispose();
            sb.Append("</tbody>");
            sb.Append("</table>");

            return("OK@#@" + sb.ToString());
        }
        catch (Exception ex)
        {
            return("Error@#@" + Errores.mostrarError("Error al obtener los proyectos.", ex));
        }
    }
Beispiel #14
0
    public static Models.TareaIAPSMasiva obtenerDetalleTarea(string idTarea, DateTime?fechaInicio, DateTime?fechaFin)
    {
        DBConn DBConn = new DBConn();

        IB.sqldblib.SqlServerSP cDblib = DBConn.dblibclass;

        BLL.TareaIAPMasiva tareaIAPMasivaBLL = new BLL.TareaIAPMasiva(cDblib);
        BLL.TareaIAP       tareaIAPBLL       = new BLL.TareaIAP(cDblib);

        Models.TareaIAPMasiva  oTareaIAPMasiva;
        Models.TareaIAPSMasiva oTareaIAPSMasiva;
        Models.TareaIAP        oTareaIAP;

        try
        {
            oTareaIAPMasiva = tareaIAPMasivaBLL.Select((int)HttpContext.Current.Session["UsuarioActual"], Int32.Parse(idTarea), Fechas.AnnomesAFecha((int)HttpContext.Current.Session["UMC_IAP"]), fechaInicio, fechaFin);
            if (oTareaIAPMasiva == null)
            {
                return(null);
            }

            oTareaIAPSMasiva = new Models.TareaIAPSMasiva();
            oTareaIAPSMasiva.t332_idtarea            = oTareaIAPMasiva.t332_idtarea;
            oTareaIAPSMasiva.denominacion            = oTareaIAPMasiva.denominacion;
            oTareaIAPSMasiva.t301_estado             = oTareaIAPMasiva.t301_estado;
            oTareaIAPSMasiva.t305_idproyectosubnodo  = oTareaIAPMasiva.t305_idproyectosubnodo;
            oTareaIAPSMasiva.t323_regfes             = oTareaIAPMasiva.t323_regfes;
            oTareaIAPSMasiva.t323_regjornocompleta   = oTareaIAPMasiva.t323_regjornocompleta;
            oTareaIAPSMasiva.t331_obligaest          = oTareaIAPMasiva.t331_obligaest;
            oTareaIAPSMasiva.t334_idfase             = oTareaIAPMasiva.t334_idfase;
            oTareaIAPSMasiva.fechaInicioImpPermitida = oTareaIAPMasiva.fechaInicioImpPermitida;
            oTareaIAPSMasiva.fechaFinImpPermitida    = oTareaIAPMasiva.fechaFinImpPermitida;

            oTareaIAP = tareaIAPBLL.Select(Int32.Parse(idTarea), (int)HttpContext.Current.Session["NUM_EMPLEADO_IAP"]);
            if (oTareaIAP != null)
            {
                oTareaIAPSMasiva.t301_idproyecto    = oTareaIAP.t301_idproyecto;
                oTareaIAPSMasiva.t324_idmodofact    = oTareaIAP.t324_idmodofact;
                oTareaIAPSMasiva.t324_denominacion  = oTareaIAP.t324_denominacion;
                oTareaIAPSMasiva.dPrimerConsumo     = oTareaIAP.dPrimerConsumo;
                oTareaIAPSMasiva.dUltimoConsumo     = oTareaIAP.dUltimoConsumo;
                oTareaIAPSMasiva.esfuerzo           = oTareaIAP.esfuerzo;
                oTareaIAPSMasiva.esfuerzoenjor      = oTareaIAP.esfuerzoenjor;
                oTareaIAPSMasiva.nPendienteEstimado = oTareaIAP.nPendienteEstimado;
                oTareaIAPSMasiva.nAvanceTeorico     = oTareaIAP.nAvanceTeorico;
                oTareaIAPSMasiva.t336_etp           = oTareaIAP.t336_etp;
                oTareaIAPSMasiva.t336_ffp           = oTareaIAP.t336_ffp;
                oTareaIAPSMasiva.t336_indicaciones  = oTareaIAP.t336_indicaciones;
                oTareaIAPSMasiva.t332_mensaje       = oTareaIAP.t332_mensaje;
                oTareaIAPSMasiva.t336_ete           = oTareaIAP.t336_ete;
                oTareaIAPSMasiva.t336_ffe           = oTareaIAP.t336_ffe;
                oTareaIAPSMasiva.t336_comentario    = oTareaIAP.t336_comentario;
                oTareaIAPSMasiva.t336_completado    = oTareaIAP.t336_completado;
                oTareaIAPSMasiva.t305_seudonimo     = oTareaIAP.t305_seudonimo;
                oTareaIAPSMasiva.t331_despt         = oTareaIAP.t331_despt;
                oTareaIAPSMasiva.t334_desfase       = oTareaIAP.t334_desfase;
                oTareaIAPSMasiva.t335_desactividad  = oTareaIAP.t335_desactividad;
            }

            return(oTareaIAPSMasiva);
        }
        catch (Exception ex)
        {
            throw new Exception(System.Uri.EscapeDataString("No se ha podido obtener el detalle de la tarea (" + idTarea + ")."));
        }
        finally
        {
            tareaIAPMasivaBLL.Dispose();
            tareaIAPBLL.Dispose();
            DBConn.Dispose();
        }
    }
Beispiel #15
0
    private string ObtenerJornadasReportadas(int anomesD, int anomesH, string sCR, string sDelNodo, string sExternos,
                                             string sOtrosNodos, string sSoloProyAbiertos, string sModeloCoste)
    {
        string sResul = "";
        //Andoni -> no sacamos el motivo por el que sale un usuario. Siempre va a ser porque está asociado a un proyecto
        //para el que tenemos ámbito de visión
        //string sUserAnt = "-1";
        StringBuilder sb = new StringBuilder();

        try
        {
            sb.Append("<table id='tblDatos' class='texto' style='width: 950px;'>");
            sb.Append("<colgroup>");
            sb.Append("<col style='width:20px' />");   //imagen
            sb.Append("<col style='width:430px' />");  //profesional
            sb.Append("<col style='width:200px' />");  //calendario
            sb.Append("<col style='width:50px;' />");  //jornadas en el calendario
            sb.Append("<col style='width:125px;' />"); //jornadas en proyectos bajo mi ambito
            sb.Append("<col style='width:125px;' />"); //jornadas en todos los proyectos
            sb.Append("</colgroup>");
            sb.Append("<tbody>");

            DateTime dInicio = Fechas.AnnomesAFecha(anomesD);
            DateTime dtAux   = Fechas.AnnomesAFecha(anomesH);
            DateTime dFin    = dtAux.AddMonths(1).AddDays(-1);
            ds = Consumo.ObtenerConsumosEconomicos((int)Session["UsuarioActual"], dInicio, dFin, (sCR == "") ? null : (int?)int.Parse(sCR),
                                                   (sDelNodo == "1") ? true : false, (sExternos == "1") ? true : false, (sOtrosNodos == "1") ? true : false,
                                                   (sSoloProyAbiertos == "1") ? true : false, sModeloCoste);

            if (ds.Tables[0].Rows.Count > 0)
            {
                foreach (DataRow oFila in ds.Tables[0].Rows)
                {
                    #region Indices de campos

                    /*
                     * 0 - t314_idusuario,
                     * 1 - t001_sexo
                     * 2 - tecnico,
                     * 3 - Calendario,
                     * 4 - JLCalendario,
                     * 5 - HLCalendario,
                     * 6 - t314_falta
                     * 7 - t314_fbaja
                     * 8 - denominacion une,
                     * 9 - denominacion empresa o proveedor
                     * 10 - baja,
                     * 11 - unidades económicas bajo mi ámbito de visión
                     * 12 - unidades ecónomicas totales
                     */
                    #endregion

                    //sb.Append("<tr R=" + ((int)oFila["t314_idusuario"]).ToString("#,###") + " style='DISPLAY: block; height:20px;'");
                    sb.Append("<tr style='height:20px;'");
                    //if (oFila["t303_denominacion"].ToString() == "")
                    //    sb.Append(" tipo ='E'");
                    //else
                    //{
                    //    if (sCR == oFila["t303_idnodo"].ToString())
                    //        sb.Append(" tipo ='P'");
                    //    else
                    //        sb.Append(" tipo ='N'");
                    //}
                    sb.Append("tipo='" + oFila["tipo"].ToString() + "' ");
                    sb.Append(" nodo ='" + Utilidades.escape(oFila["t303_denominacion"].ToString()) + "'");
                    sb.Append(" sexo ='" + oFila["t001_sexo"].ToString() + "'");
                    sb.Append(" baja ='" + oFila["baja"].ToString() + "'>");

                    //Icono
                    //sb.Append("<td style=\"border-right:''\"></td>");
                    sb.Append("<td></td>");
                    //profesional
                    //sb.Append("<td><nobr class='NBR W430' style='noWrap:true;' title=\"cssbody=[dvbdy] cssheader=[dvhdr] header=[<img src='../../../../../images/info.gif' style='vertical-align:middle' />  Información] body=[<label style='width:70px;'>Profesional:</label>" + oFila["tecnico"].ToString().Replace((char)34, (char)39) + "<br><label style='width:70px;'>Usuario:</label>" + ((int)oFila["t314_idusuario"]).ToString("#,###") + "<br><label style='width:70px;'>" + Estructura.getDefCorta(Estructura.sTipoElem.NODO) + ":</label>" + oFila["t303_denominacion"].ToString().Replace((char)34, (char)39) + "<br><label style='width:70px;'>Empresa:</label>" + oFila["EMPRESA"].ToString().Replace((char)34, (char)39) + "] hideselects=[off]\" >" + oFila["tecnico"].ToString() + "</nobr></td>");
                    sb.Append("<td><nobr class='NBR' style='noWrap:true; width:430px;' title=\"cssbody=[dvbdy] cssheader=[dvhdr] header=[<img src='../../../../../images/info.gif' style='vertical-align:middle' />  Información] body=[<label style='width:70px;'>Profesional:</label>" + oFila["tecnico"].ToString().Replace((char)34, (char)39) + "<br><label style='width:70px;'>Usuario:</label>" + ((int)oFila["t314_idusuario"]).ToString("#,###") + "<br><label style='width:70px;'>" + Estructura.getDefCorta(Estructura.sTipoElem.NODO) + ":</label>" + oFila["t303_denominacion"].ToString().Replace((char)34, (char)39) + "] hideselects=[off]\" >" + oFila["tecnico"].ToString() + "</nobr></td>");
                    //Calendario
                    sb.Append("<td><nobr class='NBR' style='width:200px;'>" + oFila["Calendario"].ToString() + "</nobr></td>");
                    //Días laborables Calendario
                    if (sModeloCoste == "H")
                    {
                        sb.Append("<td style='text-align:right;'>" + oFila["HLCalendario"].ToString() + "</td>");
                    }
                    else
                    {
                        sb.Append("<td style='text-align:right;'>" + oFila["JLCalendario"].ToString() + "</td>");
                    }
                    //Jornadas económicas
                    sb.Append("<td style='text-align:right;'>" + double.Parse(oFila["mis_unidades"].ToString()).ToString("N") + "</td>");
                    //Jornadas económicas totales
                    //sb.Append("<td style=\"border-right:''\">" + double.Parse(oFila["tot_unidades"].ToString()).ToString("N") + "</td>");
                    sb.Append("<td style='text-align:right;'>" + double.Parse(oFila["tot_unidades"].ToString()).ToString("N") + "</td>");
                    sb.Append("</tr>");
                }
            }

            ds.Dispose();
            sb.Append("</tbody>");
            sb.Append("</table>");

            sResul    = "OK@#@" + sb.ToString();
            sb.Length = 0; //Para liberar memoria
        }
        catch (Exception ex)
        {
            sResul = "Error@#@" + Errores.mostrarError("Error al obtener los consumos reportados.", ex);
        }

        return(sResul);
    }
        public List <IB.SUPER.IAP30.Models.ConsumoIAPMasivaPT> proyectosTecnicos(string sPSN, Nullable <DateTime> fechaInicio, Nullable <DateTime> fechaFin)
        {
            BLL.ConsumoIAPMasivaPT consumoIAPMasivaPT = new BLL.ConsumoIAPMasivaPT();
            try
            {
                List <IB.SUPER.IAP30.Models.ConsumoIAPMasivaPT> lst = consumoIAPMasivaPT.Catalogo((int)HttpContext.Current.Session["UsuarioActual"], int.Parse(sPSN), Fechas.AnnomesAFecha((int)HttpContext.Current.Session["UMC_IAP"]).AddMonths(1).AddDays(-1), fechaInicio, fechaFin);

                consumoIAPMasivaPT.Dispose();

                return(lst);
            }
            catch (Exception ex)
            {
                consumoIAPMasivaPT.Dispose();

                LogError.LogearError("Ocurrió un error obteniendo la lista de proyectos técnicos", ex);
                throw new Exception(System.Uri.EscapeDataString("Ocurrió un error obteniendo la lista de proyectos técnicos"));
            }
            finally
            {
                consumoIAPMasivaPT.Dispose();
            }
        }
        public List <IB.SUPER.IAP30.Models.BuscadorTareasBloque> tareasEnBloque(Nullable <DateTime> fechaInicio, Nullable <DateTime> fechaFin)
        {
            BLL.BuscadorTareasBloque buscadorTareasBloque = new BLL.BuscadorTareasBloque();
            try
            {
                List <IB.SUPER.IAP30.Models.BuscadorTareasBloque> lst = buscadorTareasBloque.Catalogo((int)HttpContext.Current.Session["UsuarioActual"], Fechas.AnnomesAFecha((int)HttpContext.Current.Session["UMC_IAP"]), fechaInicio, fechaFin);

                return(lst);
            }
            catch (Exception ex)
            {
                LogError.LogearError("Ocurrió un error obteniendo la lista de tareas en bloque", ex);
                throw new Exception(System.Uri.EscapeDataString("Ocurrió un error obteniendo la lista de tareas en bloque"));
            }
            finally
            {
                buscadorTareasBloque.Dispose();
            }
        }