public override string Propiedad(string NombrePropiedad)
        {
            if (NombrePropiedad == "NombreArchivoGenerado")
            {
                string res = "";

                if (Lib.NoBoolNulo(this["EsAceptacion"]))
                {
                    res = "Aceptación firmada";
                }
                else
                {
                    if (this["IDPresupuestoVersion"] is DBNull)
                    {
                        res = BaseSistemaNumeracion.DescripcionCodigoAnyoSinObra((BasePresupuesto)ObjetoAsociado("Presupuesto")).Replace('/', '_');

                        res = "Presupuesto " + res;
                    }
                    else
                    {
                        res = ObjetoAsociado("PresupuestoVersion").Propiedad(NombrePropiedad);
                    }

                    if (IDGenDocModelo > 0)
                    {
                        res += " _" + ProveedorListas.TextoDeCombo("GenDocModelo", IDGenDocModelo);
                    }
                }

                return(res);
            }

            if (NombrePropiedad == "PermiteCreacionArchivo")
            {
                if (ObjetoAsociado("Presupuesto") == null)
                {
                    return("");
                }
                else
                {
                    return("1");
                }
            }

            if (NombrePropiedad == "RutaArchivos")
            {
                return(ObjetoAsociado("Presupuesto").Propiedad(NombrePropiedad));
            }

            return(base.Propiedad(NombrePropiedad));
        }
Esempio n. 2
0
        public override string Propiedad(string NombrePropiedad)
        {
            Decimal Total    = 0;
            double  Unidades = 0;
            string  est      = "";
            ColPresupuestoVersionDetalle cpvd;

            if (NombrePropiedad == "ESTILO_CSS")
            {
                return(CrearTablaHTMLTarifas.CSSTablaHTML);
            }

            if (NombrePropiedad == "TablaPresupuesto")
            {
                return((new CrearTablaHTMLTarifas()).CrearTabla(this));
            }

            if (NombrePropiedad == "Estado")
            {
                if ((bool)this["Principal"])
                {
                    est = "Principal";
                }
                else
                {
                    if ((bool)this["Ampliacion"])
                    {
                        est = "Ampliación";
                    }
                    else
                    {
                        est = "Versión";
                    }
                }

                if ((bool)this["Aceptado"])
                {
                    est += " - Aceptado";
                }

                return(est);
            }

            if (NombrePropiedad == "DescripcionCorta")
            {
                if ((bool)this["Principal"])
                {
                    est = "Principal";
                }
                else
                {
                    if ((bool)this["Ampliacion"])
                    {
                        est = "Ampliación";
                    }
                    else
                    {
                        est = "Versión";
                    }

                    est += " " + this["Version"].ToString();
                }

                return(est);
            }

            if (NombrePropiedad == "EsAmpliacionVersion")
            {
                if ((bool)this["Principal"])
                {
                    est = "";
                }
                else
                {
                    if ((bool)this["Ampliacion"])
                    {
                        est = "Ampliación " + this["Version"].ToString() + ". de tarifas unidades del presupuesto inicial: ";
                    }
                    else
                    {
                        est = "Versión " + this["Version"].ToString() + ". del presupuesto: ";
                    }
                }

                return(est);
            }

            if (NombrePropiedad == "NombreArchivoGenerado")
            {
                est = BaseSistemaNumeracion.DescripcionCodigoAnyoSinObra((BasePresupuesto)ObjetoAsociado("Presupuesto")).Replace('/', '_');

                if (!(bool)this["Principal"])
                {
                    if ((bool)this["Ampliacion"])
                    {
                        est += " Ampliación";
                    }
                    else
                    {
                        est += " Versión";
                    }

                    est += " " + this["Version"].ToString();
                }

                return("Presupuesto " + est);
            }

            if (NombrePropiedad == "SumaTotalPresupuesto")
            {
                //if (!(bool)this["Principal"])
                //{
                NombrePropiedad = "TotalVersionAceptado";
                //}
            }

            if (NombrePropiedad == "FechaEmision")
            {
                DateTime fe = new DateTime();

                if ((bool)this["Aceptado"])
                {
                    fe = (DateTime)this["FechaAceptacion"];
                }
                else
                {
                    fe = (DateTime)this["FechaEmision"];
                }

                return(Lib.FormateaFecha(fe));
            }

            if (NombrePropiedad == "FechaEmisionLarga")
            {
                DateTime fe = new DateTime();

                if ((bool)this["Aceptado"])
                {
                    fe = (DateTime)this["FechaAceptacion"];
                }
                else
                {
                    fe = (DateTime)this["FechaEmision"];
                }

                return(fe.Day.ToString() + " de " + fe.ToString("MMMM") + " de " + fe.Year.ToString());
            }

            if (NombrePropiedad == "TotalVersion" || NombrePropiedad == "TotalUnidades")
            {
                cpvd = (ColPresupuestoVersionDetalle)Coleccion("ColPresupuestoVersionDetalle");

                Total = cpvd.CalcularTotal(false, ref Unidades);

                if (NombrePropiedad == "TotalVersion")
                {
                    return(LCC.Negocio.Util.DarFormatoMonedaConDecimales(Total));
                }
                else
                {
                    return(Unidades.ToString("0.##"));
                }
            }
            if (NombrePropiedad == "TotalVersionAceptado" || NombrePropiedad == "TotalUnidadesAceptado" ||
                NombrePropiedad == "TotalConBonificacion")
            {
                cpvd = (ColPresupuestoVersionDetalle)Coleccion("ColPresupuestoVersionDetalle");

                Total = cpvd.CalcularTotal(true, ref Unidades);

                if (NombrePropiedad == "TotalVersionAceptado")
                {
                    return(LCC.Negocio.Util.DarFormatoMonedaConDecimales(Total));
                }
                else if (NombrePropiedad == "TotalConBonificacion")
                {
                    float porcentaje = (float)ObjetoAsociado("Presupuesto")["Descuento"];
                    if (porcentaje != 0)
                    {
                        decimal TotalConBonificacion = Total - ((Total * Lib.NoDecimalNulo(porcentaje)) / 100);
                        return("TOTAL PRESUPUESTO CON BONIFICACIÓN: " + LCC.Negocio.Util.DarFormatoMonedaConDecimales(TotalConBonificacion));
                    }
                }
                else
                {
                    return(Unidades.ToString("0.##"));
                }
            }

            //[Prop.Con1]	[Prop.NF1]	[Prop.Pr1]	[Prop.Importe1]     [Prop.Precio1]

            for (int p = 1; p <= 9; ++p)
            {
                if (NombrePropiedad == "Con" + p.ToString() || NombrePropiedad == "NF" + p.ToString() ||
                    NombrePropiedad == "Pr" + p.ToString() || NombrePropiedad == "Importe" + p.ToString() ||
                    NombrePropiedad == "Precio" + p.ToString())
                {
                    PresupuestoVersionDetalle det = null;

                    if (p <= Coleccion("ColPresupuestoVersionDetalle").Count)
                    {
                        det = (PresupuestoVersionDetalle)Coleccion("ColPresupuestoVersionDetalle")[p - 1];
                    }

                    if (det != null)
                    {
                        if (NombrePropiedad.StartsWith("NF"))
                        {
                            return(p.ToString());
                        }
                        if (NombrePropiedad.StartsWith("Con"))
                        {
                            return(det["Concepto"].ToString());
                        }
                        if (NombrePropiedad.StartsWith("Pr"))
                        {
                            return((det.TotalUnidades * 100).ToString("0") + "%");
                        }
                        if (NombrePropiedad.StartsWith("Importe"))
                        {
                            return(String.Format("{0:#,##0 €}", (decimal)det["Total"]));
                        }
                        if (NombrePropiedad.StartsWith("Precio"))
                        {
                            return(String.Format("{0:#,##0 €}", (decimal)det["Precio"]));
                        }
                    }

                    return("");
                }
            }

            return(ObjetoAsociado("Presupuesto").Propiedad(NombrePropiedad));
        }