public static int EliminarLineaBase(int t685_idlineabase, int t001_idficepi, string t422_idmoneda) { string sObservaciones = ""; //1º Obtener los datos de la línea base para obtener los datos necesarios para la creación de la observación. LINEABASE oLB = LINEABASE.Obtener(t685_idlineabase); sObservaciones = "Eliminada línea base \"" + oLB.t685_denominacion + "\" que había sido creada el " + oLB.t685_fecha.ToShortDateString() + ", con Coste Total Planificado (BAC) = "; DataSet ds = LINEABASE.ObtenerDatosValorGanado(t685_idlineabase, Fechas.FechaAAnnomes(DateTime.Now), t422_idmoneda); sObservaciones += decimal.Parse(ds.Tables[0].Rows[0]["BAC"].ToString()).ToString("N") + " " + t422_idmoneda; //2º Creación de la observación automática. SUPER.BLL.OBSERVACIONES_LB.Insertar(oLB.t305_idproyectosubnodo, t001_idficepi, true, sObservaciones); //3º Eliminar la línea base return(Capa_Datos.LINEABASE.Eliminar(null, t685_idlineabase)); }
public static DataSet getDataSetParaExcel(int t685_idlineabase, int t325_anomes_referencia, int t305_idproyectosubnodo, string t422_idmoneda, int nIAP, int nEXT, int nOCO, int nIAPCPI, int nEXTCPI, int nOCOCPI) { DataSet ds = LINEABASE.ObtenerDatosValorGanado(t685_idlineabase, t325_anomes_referencia, t422_idmoneda); ds.Tables[0].TableName = "DatosEconomicos"; DataSet ds1 = SUPER.Capa_Datos.LINEABASE.ObtenerDS(null, t685_idlineabase); ds1.Tables[0].TableName = "DetalleLineaBase"; ds.Tables.Add(ds1.Tables["DetalleLineaBase"].Copy()); DataSet ds2 = SUPER.Capa_Datos.RECONOCIMIENTOLB.ObtenerDatosReconocimientoDS(null, t685_idlineabase, false, t422_idmoneda); ds2.Tables[0].TableName = "ReconocimientoLB"; ds.Tables.Add(ds2.Tables["ReconocimientoLB"].Copy()); DataSet ds3 = SUPER.Capa_Datos.LINEABASE.ObtenerDesgloseLB_XLS(null, t685_idlineabase, t422_idmoneda); ds3.Tables[0].TableName = "Desglose"; ds.Tables.Add(ds3.Tables["Desglose"].Copy()); DataSet ds4 = SUPER.DAL.OBSERVACIONES_LB.CatalogoDS(t305_idproyectosubnodo); ds4.Tables[0].TableName = "Observaciones"; ds.Tables.Add(ds4.Tables["Observaciones"].Copy()); ds1.Dispose(); ds2.Dispose(); ds3.Dispose(); ds4.Dispose(); return(ds); }
public static int CrearLineaBase(int t305_idproyectosubnodo, int t314_idusuario, string t685_denominacion, int t001_idficepi, string t422_idmoneda) { string sDatosLBAnterior = ""; string sDatosLBNueva = ""; string sObservaciones = ""; bool bExisteAnterior = false; //1º Obtener la última línea base (si existe) para obtener los datos necesarios para la creación de la observación. int nLineaBase = LINEABASE.ObtenerUltimaLineaBase(t305_idproyectosubnodo); if (nLineaBase > 0) { bExisteAnterior = true; DataSet ds = LINEABASE.ObtenerDatosValorGanado(nLineaBase, Fechas.FechaAAnnomes(DateTime.Now), t422_idmoneda); sDatosLBAnterior = "Coste Total Planificado (BAC) de línea base anterior = " + decimal.Parse(ds.Tables[0].Rows[0]["BAC"].ToString()).ToString("N") + " " + t422_idmoneda + (char)10 + (char)13; // "<br>";// <NNN.NNN€>"; sDatosLBAnterior += "Duración de proyecto en línea base anterior: " + ds.Tables[0].Rows.Count.ToString() + " meses, finalizando en " + Fechas.AnnomesAFechaDescLarga((int)ds.Tables[0].Rows[ds.Tables[0].Rows.Count - 1]["anomes"]) + "."; } //2º Crear la nueva línea base. int nIDLB = Capa_Datos.LINEABASE.Insertar(null, Utilidades.unescape(t685_denominacion), t314_idusuario, t305_idproyectosubnodo); DataSet ds1 = LINEABASE.ObtenerDatosValorGanado(nIDLB, Fechas.FechaAAnnomes(DateTime.Now), t422_idmoneda); sDatosLBNueva = "Creada línea base " + (char)34 + "{{nombre}}" + (char)34 + @"." + (char)10 + (char)13; // <br>"; sDatosLBNueva += "Coste Total Planificado (BAC) = " + decimal.Parse(ds1.Tables[0].Rows[0]["BAC"].ToString()).ToString("N") + " " + t422_idmoneda + (char)10 + (char)13; //"<br>";// <NNN.NNN€>"; sDatosLBNueva += "Duración de proyecto en línea base: " + ds1.Tables[0].Rows.Count.ToString() + " meses, finalizando en " + Fechas.AnnomesAFechaDescLarga((int)ds1.Tables[0].Rows[ds1.Tables[0].Rows.Count - 1]["anomes"]) + "."; sObservaciones = sDatosLBNueva; if (bExisteAnterior) { //Nota: poniendo: sObservaciones += (char)10 + (char)13... añade dos caracteres "23" antes del salto de línea. sObservaciones = sObservaciones + (char)10 + (char)13 + " " + (char)10 + (char)13 + " " + (char)10 + (char)13 + sDatosLBAnterior; } byte[] data = Encoding.Default.GetBytes(sObservaciones); sObservaciones = Encoding.UTF8.GetString(data).Replace("{{nombre}}", Utilidades.unescape(t685_denominacion)); //3º Creación de la observación automática. SUPER.BLL.OBSERVACIONES_LB.Insertar(t305_idproyectosubnodo, t001_idficepi, true, sObservaciones); return(nIDLB); }
public static string ObtenerDesgloseLB(int t685_idlineabase, string t422_idmoneda) { StringBuilder sbTM = new StringBuilder(); StringBuilder sbTMF1 = new StringBuilder(); StringBuilder sbTMF2 = new StringBuilder(); StringBuilder sbBF = new StringBuilder(); StringBuilder sbBM = new StringBuilder(); Hashtable htDatosMes = new Hashtable(); bool bColgroupCreado = false; int nWidthBM = 0; //string sGrupo = ""; DataSet ds = SUPER.Capa_Datos.LINEABASE.ObtenerDesgloseLB(null, t685_idlineabase, t422_idmoneda); foreach (DataRow oFila in ds.Tables[2].Rows) //tabla de datos { htDatosMes.Add(oFila["anomes"].ToString() + "/" + oFila["idclase"].ToString(), new DATODESGLOSELB((int)oFila["anomes"], (int)oFila["idclase"], decimal.Parse(oFila["importe_lb"].ToString()), decimal.Parse(oFila["importe_real"].ToString())) ); } int nConcepto = -1, nSubgrupo = -1, nGrupo = -1; //nClase = -1, //string sHTML = ""; foreach (DataRow oFila in ds.Tables[0].Rows) { //sHTML = ""; if (!bColgroupCreado) { bColgroupCreado = true; #region tblTituloMovil nWidthBM = ds.Tables[1].Rows.Count * 150; sbTM.Append("<table id='tblTituloMovil' style='width:" + nWidthBM.ToString() + "px;' cellpadding='0' cellspacing='0' border='0'>"); sbTM.Append(" <colgroup>"); #endregion #region tblBodyFijo sbBF.Append("<table id='tblBodyFijo' style='width:480px;' cellpadding='0' cellspacing='0' border='0'>"); sbBF.Append("<colgroup>"); sbBF.Append(" <col style='width:300px;' />"); sbBF.Append(" <col style='width:90px;' />"); sbBF.Append(" <col style='width:90px;' />"); sbBF.Append("</colgroup>"); #endregion #region tblBodyMovil sbBM.Append("<table id='tblBodyMovil' style='width:" + nWidthBM.ToString() + "px;' cellpadding='0' cellspacing='0' border='0'>"); sbBM.Append(" <colgroup>"); #endregion #region Creacion Colgroups Móviles sbTMF1.Append("<tr style='height:17px;'>"); sbTMF2.Append("<tr style='height:17px;'>"); foreach (DataRow oFilaMes in ds.Tables[1].Rows) //Tabla de meses { sbTM.Append(" <col style='width:75px;' />"); sbTM.Append(" <col style='width:75px;' />"); sbTMF1.Append(" <td colspan='2' style='width:150px;'>" + Fechas.AnnomesAFechaDescLarga((int)oFilaMes["anomes"]) + "</td>"); sbTMF2.Append(" <td style='width:75px;'>Línea base</td>"); sbTMF2.Append(" <td style='width:75px;'>Real</td>"); sbBM.Append(" <col style='width:75px;' />"); sbBM.Append(" <col style='width:75px;' />"); } sbTM.Append("</colgroup>"); sbTMF1.Append("</tr>"); sbTMF2.Append("</tr>"); sbTM.Append(sbTMF1.ToString()); sbTM.Append(sbTMF2.ToString()); sbTM.Append("</table>"); sbBM.Append("</colgroup>"); #endregion } #region tblBodyFijo if (nGrupo != int.Parse(oFila["t326_idgrupoeco"].ToString())) { nGrupo = int.Parse(oFila["t326_idgrupoeco"].ToString()); nSubgrupo = int.Parse(oFila["t327_idsubgrupoeco"].ToString()); nConcepto = int.Parse(oFila["t328_idconceptoeco"].ToString()); string[] aTablas = LINEABASE.CrearFilaGrupo(oFila, ds.Tables[1]); sbBF.Append(aTablas[0]); sbBM.Append(aTablas[1]); } else if (nSubgrupo != int.Parse(oFila["t327_idsubgrupoeco"].ToString())) { nSubgrupo = int.Parse(oFila["t327_idsubgrupoeco"].ToString()); nConcepto = int.Parse(oFila["t328_idconceptoeco"].ToString()); string[] aTablas = LINEABASE.CrearFilaSubgrupo(oFila, ds.Tables[1]); sbBF.Append(aTablas[0]); sbBM.Append(aTablas[1]); } else if (nConcepto != int.Parse(oFila["t328_idconceptoeco"].ToString())) { nConcepto = int.Parse(oFila["t328_idconceptoeco"].ToString()); string[] aTablas = LINEABASE.CrearFilaConcepto(oFila, ds.Tables[1]); sbBF.Append(aTablas[0]); sbBM.Append(aTablas[1]); } sbBF.Append("<tr style='height:20px;' "); sbBF.Append("sTipo='CL' "); sbBF.Append("idGrupo='" + oFila["t326_idgrupoeco"].ToString() + "' "); sbBF.Append("idSubgrupo='" + oFila["t327_idsubgrupoeco"].ToString() + "' "); sbBF.Append("idConcepto='" + oFila["t328_idconceptoeco"].ToString() + "' "); sbBF.Append("idClase='" + oFila["idclase"].ToString() + "' "); sbBF.Append(">"); sbBF.Append("<td style='text-align:left;'><nobr class='NBR W215' style='margin-left:75px;' onmouseover='TTip(event)'>" + oFila["t329_denominacion"].ToString() + "<nobr></td>"); // sbBF.Append("<td>" + (((decimal)oFila["importe_lb"] == 0)?"": decimal.Parse(oFila["importe_lb"].ToString()).ToString("N")) + "</td>"); sbBF.Append("<td style='border-right: 2px solid #A6C3D2;'>" + (((decimal)oFila["importe_real"] == 0) ? "" : decimal.Parse(oFila["importe_real"].ToString()).ToString("N")) + "</td>"); sbBF.Append("</tr>"); #endregion #region tblBodyMovil //sbBM.Append("<tr style='height:20px;'>"); sbBM.Append("<tr style='height:20px;' "); sbBM.Append("sTipo='CL' "); sbBM.Append("idGrupo='" + oFila["t326_idgrupoeco"].ToString() + "' "); sbBM.Append("idSubgrupo='" + oFila["t327_idsubgrupoeco"].ToString() + "' "); sbBM.Append("idConcepto='" + oFila["t328_idconceptoeco"].ToString() + "' "); sbBM.Append("idClase='" + oFila["idclase"].ToString() + "' "); sbBM.Append(">"); foreach (DataRow oFilaMes in ds.Tables[1].Rows) { DATODESGLOSELB oDE = (DATODESGLOSELB)htDatosMes[oFilaMes["anomes"].ToString() + "/" + oFila["idclase"].ToString()]; if (oDE != null) { sbBM.Append("<td style='width:75px;'>" + ((oDE.importe_lb == 0) ? "" : oDE.importe_lb.ToString("N")) + "</td>"); sbBM.Append("<td style='width:75px;'>" + ((oDE.importe_real == 0) ? "" : oDE.importe_real.ToString("N")) + "</td>"); } else { sbBM.Append("<td style='width:75px;'></td>"); sbBM.Append("<td style='width:75px;'></td>"); } } sbBM.Append("</tr>"); #endregion } sbBF.Append("</table>"); sbBM.Append("</table>"); return(sbTM.ToString() + "{{septabla}}" + "<div style=\"background-image: url('../../../Images/imgFT20.gif'); background-repeat:repeat; width:480px; height:auto;\">" + sbBF.ToString() + "</div>" + "{{septabla}}" + "<div style=\"background-image: url('../../../Images/imgFT20.gif'); background-repeat:repeat; width:" + nWidthBM.ToString() + "px; height:auto;\">" + sbBM.ToString() + "</div>" + "{{septabla}}"); }