private void obtenerDatosXML(int iAnoMes) { StringBuilder sbGeneral = new StringBuilder(); StringBuilder sbMeses = new StringBuilder(); try { string sAux, sAnoMesIni, sAnoMesFin; //sAnoMesAux, int iAnoMesIni = Fechas.AddAnnomes(iAnoMes, -12), nOcupacion = 0, nOcupacionMax = 0, iAnoMesAux, iAnoMesFin; //iPropias = 0, iAjenas = 0, iLargura = 0, iLarguraAjena = 0, sAnoMesIni = iAnoMesIni.ToString(); DateTime dtPrimer = Fechas.crearDateTime("01/" + sAnoMesIni.Substring(4, 2) + "/" + sAnoMesIni.Substring(0, 4)); iAnoMesFin = Fechas.AddAnnomes(iAnoMes, 1); sAnoMesFin = iAnoMesFin.ToString(); DateTime dtUltimo = Fechas.crearDateTime("01/" + sAnoMesFin.Substring(4, 2) + "/" + sAnoMesFin.Substring(0, 4)); #region Cargo array de 13 meses con el nº de conexiones propias por mes ArrayList slLista = new ArrayList(); iAnoMesAux = iAnoMesIni; for (int iFila = 0; iFila < 13; iFila++) { sAux = Fechas.AnnomesAFechaDescLarga(iAnoMesAux); string[] aDatosAux = new string[] { sAux, "0", "0", iAnoMesAux.ToString() }; slLista.Add(aDatosAux); iAnoMesAux = Fechas.AddAnnomes(iAnoMesAux, 1); } SqlDataReader dr = CONEXIONES.SelectPropiasMes(null, int.Parse(Session["IDFICEPI_PC_ACTUAL"].ToString()), dtPrimer, dtUltimo); while (dr.Read()) { nOcupacion = int.Parse(dr["npropias"].ToString()); if (nOcupacion > nOcupacionMax) { nOcupacionMax = nOcupacion; } for (int iFila = 0; iFila < 13; iFila++) { if (((string[])slLista[iFila])[3] == dr["anomes"].ToString()) { ((string[])slLista[iFila])[1] = dr["npropias"].ToString(); break; } } } dr.Close(); dr.Dispose(); #endregion #region Cargo array de 13 meses con el nº de conexiones ajenas por mes SqlDataReader dr2 = CONEXIONES.SelectAjenasMes(null, (int)Session["UsuarioActual"], dtPrimer, dtUltimo); while (dr2.Read()) { nOcupacion = int.Parse(dr2["najenas"].ToString()); if (nOcupacion > nOcupacionMax) { nOcupacionMax = nOcupacion; } for (int iFila = 0; iFila < 13; iFila++) { if (((string[])slLista[iFila])[3] == dr2["anomes"].ToString()) { ((string[])slLista[iFila])[2] = dr2["najenas"].ToString(); break; } } } dr2.Close(); dr2.Dispose(); #endregion sbMeses.Append("<categories font='Arial' fontSize='11' fontColor='000000'>"); for (int iFila = 12; iFila >= 0; iFila--) { if (iFila == 12) { nAnomesInicio = int.Parse(((string[])slLista[iFila])[3]); } sbMeses.Append("<category name='" + ((string[])slLista[iFila])[0] + "' />"); } sbMeses.Append("</categories>"); sbMeses.Append("<dataset seriesname='Propias' color='ff0033' alpha='70'>"); for (int iFila = 12; iFila >= 0; iFila--) { if (iFila == 12) { nPropias = int.Parse(((string[])slLista[iFila])[1]); } sbMeses.Append("<set value='" + ((string[])slLista[iFila])[1] + "' link='JavaScript:buscar(" + ((string[])slLista[iFila])[1] + "," + ((string[])slLista[iFila])[2] + "," + ((string[])slLista[iFila])[3] + ")' />"); } sbMeses.Append("</dataset>"); sbMeses.Append("<dataset seriesname='En su nombre' color='000066' showValues='1' alpha='70'>"); for (int iFila = 12; iFila >= 0; iFila--) { if (iFila == 12) { nAjenas = int.Parse(((string[])slLista[iFila])[2]); } sbMeses.Append("<set value='" + ((string[])slLista[iFila])[2] + "' link='JavaScript:buscar(" + ((string[])slLista[iFila])[1] + "," + ((string[])slLista[iFila])[2] + "," + ((string[])slLista[iFila])[3] + ")' />"); } sbMeses.Append("</dataset>"); sbGeneral.Append("<graph "); //sbGeneral.Append(" xaxisname='Meses' "); //sbGeneral.Append(" yaxisname='Actividad' "); sbGeneral.Append(" hovercapbg='73cef6' "); sbGeneral.Append(" hovercapborder='889E6D'"); sbGeneral.Append(" rotateNames='0' "); sbGeneral.Append(" animation='1' "); sbGeneral.Append(" yAxisMaxValue='" + (nOcupacionMax + 10).ToString() + "' "); sbGeneral.Append(" numdivlines='4' "); sbGeneral.Append(" divLineColor='CCCCCC' "); sbGeneral.Append(" divLineAlpha='80' "); sbGeneral.Append(" decimalPrecision='0' "); sbGeneral.Append(" showAlternateVGridColor='1' "); sbGeneral.Append(" AlternateVGridAlpha='30' "); sbGeneral.Append(" AlternateVGridColor='CCCCCC' "); //sbGeneral.Append(" caption='Actividad registrada' "); sbGeneral.Append(" bgColor='D8E5EB' "); sbGeneral.Append(" >"); strXML = sbGeneral.ToString() + sbMeses.ToString() + "</graph>"; } catch (Exception ex) { Master.sErrores = Errores.mostrarError("Error al obtener el registro de actividad.", ex); } }
private void obtenerGrafico(int iAnoMes) { StringBuilder sb = new StringBuilder(); try { string sAux, sAnoMesAux, sAnoMesIni, sAnoMesFin; int iAnoMesIni = Fechas.AddAnnomes(iAnoMes, -12), iPropias = 0, iAjenas = 0, nOcupacion = 0, nOcupacionMax = 0, iLargura = 0, iLarguraAjena = 0, iAnoMesAux, iAnoMesFin; sAnoMesIni = iAnoMesIni.ToString(); DateTime dtPrimer = Fechas.crearDateTime("01/" + sAnoMesIni.Substring(4, 2) + "/" + sAnoMesIni.Substring(0, 4)); iAnoMesFin = Fechas.AddAnnomes(iAnoMes, 1); sAnoMesFin = iAnoMesFin.ToString(); DateTime dtUltimo = Fechas.crearDateTime("01/" + sAnoMesFin.Substring(4, 2) + "/" + sAnoMesFin.Substring(0, 4)); sb.Append("<table id='tblDatos' class='texto MANO' style='WIDTH: 960px; table-layout:fixed;' cellSpacing='0' border='0'>"); sb.Append("<colgroup>"); sb.Append(" <col style='width:90px;'/>"); sb.Append(" <col style=\"width:870px;;\" />"); sb.Append("</colgroup>"); sb.Append("<tr style=\"height:20px;cursor:default;\">"); sb.Append("<td style='padding-left:3px; border-right-style:solid; border-right-width:2px; border-right-color: Black;'> </td>"); sb.Append("<td> </td></tr>"); #region Cargo array de 13 meses con el nº de conexiones propias por mes ArrayList slLista = new ArrayList(); iAnoMesAux = iAnoMesIni; for (int iFila = 0; iFila < 13; iFila++) { sAux = Fechas.AnnomesAFechaDescLarga(iAnoMesAux); string[] aDatosAux = new string[] { sAux, "0", "0", iAnoMesAux.ToString() }; slLista.Add(aDatosAux); iAnoMesAux = Fechas.AddAnnomes(iAnoMesAux, 1); } SqlDataReader dr = CONEXIONES.SelectPropiasMes(null, int.Parse(Session["IDFICEPI_PC_ACTUAL"].ToString()), dtPrimer, dtUltimo); while (dr.Read()) { nOcupacion = int.Parse(dr["npropias"].ToString()); if (nOcupacion > nOcupacionMax) { nOcupacionMax = nOcupacion; } for (int iFila = 0; iFila < 13; iFila++) { if (((string[])slLista[iFila])[3] == dr["anomes"].ToString()) { ((string[])slLista[iFila])[1] = dr["npropias"].ToString(); break; } } } dr.Close(); dr.Dispose(); #endregion #region Cargo array de 13 meses con el nº de conexiones ajenas por mes SqlDataReader dr2 = CONEXIONES.SelectAjenasMes(null, (int)Session["UsuarioActual"], dtPrimer, dtUltimo); while (dr2.Read()) { nOcupacion = int.Parse(dr2["najenas"].ToString()); if (nOcupacion > nOcupacionMax) { nOcupacionMax = nOcupacion; } for (int iFila = 0; iFila < 13; iFila++) { if (((string[])slLista[iFila])[3] == dr2["anomes"].ToString()) { ((string[])slLista[iFila])[2] = dr2["najenas"].ToString(); break; } } } dr2.Close(); dr2.Dispose(); #endregion for (int iFila = 12; iFila >= 0; iFila--) { sAux = ((string[])slLista[iFila])[0];//Añomes en formato corto iPropias = int.Parse(((string[])slLista[iFila])[1]); iAjenas = int.Parse(((string[])slLista[iFila])[2]); sAnoMesAux = ((string[])slLista[iFila])[3];//Añomes en formato numerico nOcupacion = iPropias; //if (iAjenas > iPropias) // nOcupacion = iAjenas; iLargura = flGetWidth(nOcupacion, nOcupacionMax); iLarguraAjena = flGetWidth(iAjenas, nOcupacionMax); sb.Append("<tr id=" + sAnoMesAux + " iPropias=" + iPropias.ToString() + " iAjenas=" + iAjenas.ToString() + " style=\"height:20px; background-color:White;\" onclick='buscar(this.id)'>"); sb.Append("<td style='padding-left:3px; border-right-style:solid; border-right-width:2px; border-right-color: Black;'>" + sAux + "</td>"); sb.Append("<td style=\"background-image:url('../../../Images/imgGanttBG175.gif')\">"); if (iLargura != 0 || iLarguraAjena != 0) { sb.Append("<span style='height:18px;noWrap:true;'>"); sb.Append("<img src='../../../Images/imgGanttR.gif' style='vertical-align:middle;height:12px;width:" + iLargura.ToString() + "px;margin:0px;border:0px;display:block;' />"); sb.Append("<img src='../../../Images/imgAR.gif' style='vertical-align:middle;height:5px;width:" + iLarguraAjena.ToString() + "px;margin:0px;border:0px;display:block;' />"); sb.Append("</span>"); sb.Append("<label style='margin-left:10px;color:red;vertical-align:top;margin-top:8px;font-weight:bold;'>" + iPropias.ToString() + "</label>"); sb.Append("<label style='margin-left:20px;vertical-align:top;margin-top:8px;font-weight:bold;'>" + iAjenas.ToString() + "</label>"); } else { sb.Append(" "); } sb.Append("</td></tr>"); } sb.Append("<tr style=\"height:20px;\">"); sb.Append("<td style='padding-left:3px; border-right-style:solid; border-right-width:2px; border-right-color: Black; border-top-style:solid; border-top-width:2px; border-top-color: Black;'> </td>"); sb.Append("<td style=\" border-top-style:solid; border-top-width:2px; border-top-color: Black;\"> </td></tr>"); sb.Append("</table>"); strTablaHTMLGrafico = sb.ToString(); } catch (Exception ex) { Master.sErrores = Errores.mostrarError("Error al obtener el registro de actividad propio.", ex); } }