示例#1
0
        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));
        }
示例#2
0
        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);
        }
示例#3
0
        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);
        }
示例#4
0
        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&iacute;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}}");
        }