private string ObtenerDatosConsumos(string sDesde, string sHasta, string sProfesionales) { string sResul = ""; StringBuilder sb = new StringBuilder(); sb.Length = 0; DateTime dtDesde, dtHasta; bool bError = false; try { if (!Utilidades.isDate(sDesde)) { sResul = "Error@#@La fecha desde no es correcta"; bError = true; } if (!bError && !Utilidades.isDate(sHasta)) { sResul = "Error@#@La fecha hasta no es correcta"; bError = true; } if (!bError) { dtDesde = System.Convert.ToDateTime(sDesde); dtHasta = System.Convert.ToDateTime(sHasta); SqlDataReader dr = USUARIO.GetConsumosProf(int.Parse(Session["UsuarioActual"].ToString()), dtDesde, dtHasta, sProfesionales); sb.Append("<TABLE style='font-family:Arial;font-size:8pt;' cellSpacing='2' border=1>"); sb.Append("<tr align=center style='background-color: #BCD4DF;'>"); sb.Append("<td>F. consumo</td>"); sb.Append("<td>Nº profesional</td>"); sb.Append("<td>Profesional</td>"); sb.Append("<td>" + Estructura.getDefLarga(Estructura.sTipoElem.NODO) + " del Profesional</td>"); sb.Append("<td>Proveedor</td>"); sb.Append("<td>" + Estructura.getDefLarga(Estructura.sTipoElem.NODO) + " del Proyecto</td>"); sb.Append("<td>Nº proyecto</td>"); sb.Append("<td>Denominación proyecto</td>"); sb.Append("<td>Denominación proyecto técnico</td>"); sb.Append("<td>Nº tarea</td>"); sb.Append("<td>Denominación tarea</td>"); sb.Append("<td>Facturable</td>"); sb.Append("<td>Horas</td>"); sb.Append("<td>Jornadas</td>"); sb.Append("<td>Comentario</td>"); sb.Append("<td>Cliente</td>"); sb.Append("<td>Naturaleza</td>"); sb.Append("<td>Modelo de contratación</td>"); sb.Append("</tr>"); sb.Append("</table>"); sb.Append("<TABLE style='font-family:Arial;font-size:8pt;' border=1>"); sb.Append("<COLGROUP>"); sb.Append("<col />"); //Fecha consumo sb.Append("<col />"); sb.Append("<col />"); //Profesional sb.Append("<col />"); //Nodo del profesional sb.Append("<col />"); //Proveedor del profesional sb.Append("<col />"); //Nodo del proyecto sb.Append("<col />"); //Nº proyecto sb.Append("<col />"); //proyecto sb.Append("<col />"); //PT sb.Append("<col />"); //Nº tarea sb.Append("<col />"); sb.Append("<col />"); //facturable sb.Append("<col />"); sb.Append("<col />"); sb.Append("<col />"); sb.Append("<col />"); sb.Append("<col />"); sb.Append("<col />"); sb.Append("</COLGROUP>"); while (dr.Read()) { sb.Append("<tr style='vertical-align:top;'>"); sb.Append("<td>" + ((DateTime)dr["t337_fecha"]).ToShortDateString() + "</td>"); sb.Append("<td style='text-align:rigth;'>" + ((int)dr["t314_idusuario"]).ToString("#,###") + "</td>"); sb.Append("<td>" + dr["profesional"].ToString() + "</td>"); //CR del profesional sb.Append("<td>" + dr["Nodo_Profesional"].ToString() + "</td>"); //Proveedor del profesional sb.Append("<td>" + dr["Proveedor_Profesional"].ToString() + "</td>"); //CR del proyecto sb.Append("<td>" + dr["t303_denominacion"].ToString() + "</td>"); sb.Append("<td style='text-align:rigth;'>" + ((int)dr["t301_idproyecto"]).ToString("#,###") + "</td>"); sb.Append("<td>" + dr["t301_denominacion"].ToString() + "</td>"); sb.Append("<td>" + dr["T331_despt"].ToString() + "</td>"); sb.Append("<td style='text-align:rigth;'>" + ((int)dr["t332_idtarea"]).ToString("#,###") + "</td>"); sb.Append("<td>" + dr["t332_destarea"].ToString() + "</td>"); if ((bool)dr["t332_facturable"]) { sb.Append("<td style='text-align:center;'>X</td>"); } else { sb.Append("<td> </td>"); } //sb.Append("<td style='text-align:rigth;'>" + decimal.Parse(dr["TotalHorasReportadas"].ToString()).ToString("N") + "</td>"); //sb.Append("<td style='text-align:rigth;'>" + decimal.Parse(dr["TotalJornadasReportadas"].ToString()).ToString("N") + "</td>"); sb.Append("<td style='text-align:rigth;'>" + dr["TotalHorasReportadas"].ToString() + "</td>"); sb.Append("<td style='text-align:rigth;'>" + double.Parse(dr["TotalJornadasReportadas"].ToString()).ToString("#,###.##") + "</td>"); sb.Append("<td> " + dr["Comentarios"].ToString().Replace("'", "'").Replace("\"", "'") + "</td>"); sb.Append("<td>" + dr["t302_denominacion"].ToString() + "</td>"); sb.Append("<td>" + dr["t323_denominacion"].ToString() + "</td>"); sb.Append("<td>" + dr["t316_denominacion"].ToString() + "</td>"); sb.Append("</tr>"); } dr.Close(); dr.Dispose(); sb.Append("</table>"); //sResul = "OK@#@" + sb.ToString(); string sIdCache = "EXCEL_CACHE_" + Session["IDFICEPI_ENTRADA"].ToString() + "_" + DateTime.Now.ToString(); Session[sIdCache] = sb.ToString();; sResul = "OK@#@cacheado@#@" + sIdCache + "@#@" + sb.ToString(); sb.Length = 0; //Para liberar memoria } } catch (Exception ex) { sResul = "Error@#@" + Errores.mostrarError("Error al obtener los datos de consulta masiva de profesionales", ex); } return(sResul); }