Ejemplo n.º 1
0
        private Object GetFieldValue(Area area)
        {
            Object toret = null;

            if (!IsEstate())
            {
                switch (FieldToSearchIn)
                {
                case Field.Nombre:
                    toret = area.Name;
                    break;

                case Field.Remarks:
                    toret = area.Remarks;
                    break;

                case Field.Id:
                    toret = area.Id;
                    break;

                case Field.NombreDeLugar:
                    if (area.Parent != null)
                    {
                        toret = area.Parent.Name;
                    }
                    else
                    {
                        toret = null;
                    }
                    break;
                }
            }
            else
            if (area is Estate)
            {
                Estate f = (area as Estate);

                switch (FieldToSearchIn)
                {
                case Field.Area:
                    toret = f.Extension;
                    break;

                case Field.Valor:
                    toret = f.Valor;
                    break;

                case Field.ReferenciaCatastral:
                    toret = f.RefCatastral;
                    break;

                case Field.PrecioVenta:
                    toret = f.getPrecioDeVenta();
                    break;

                case Field.NombreComprador:
                    toret = f.getNombreDeComprador();
                    break;

                case Field.Poblacion:
                    if (f.getDireccion() != null)
                    {
                        toret = f.getDireccion().City;
                    }
                    break;

                case Field.Provincia:
                    if (f.getDireccion() != null)
                    {
                        toret = f.getDireccion().Province;
                    }
                    break;

                case Field.Calle:
                    if (f.getDireccion() != null)
                    {
                        toret = f.getDireccion().Street;
                    }
                    break;
                }
            }

            return(toret);
        }
Ejemplo n.º 2
0
        void LoadEstate(Place place, XmlNode n)
        {
            string id              = "";
            string name            = "";
            string refCatastral    = "";
            double area            = 0;
            double valor           = 0;
            double precioDeVenta   = 0;
            string nombreComprador = "";
            bool   esUrbana        = false;
            string observaciones   = "";

            Estate.Address d = null;

            // Load
            ExtractAttributes(n, ref id, ref name);

            foreach (XmlNode x in n.ChildNodes)
            {
                if (x.Name.ToUpper() == EtqArea)
                {
                    area = Convert.ToDouble(x.InnerText, CultureInfo.InvariantCulture);
                }
                else
                if (x.Name.ToUpper() == EtqValor)
                {
                    valor = Convert.ToDouble(x.InnerText, CultureInfo.InvariantCulture);
                }
                else
                if (x.Name.ToUpper() == EtqObs)
                {
                    observaciones = x.InnerText;
                }
                else
                if (x.Name.ToUpper() == EtqRefCatastral)
                {
                    refCatastral = x.InnerText;
                }
                else
                if (x.Name.ToUpper() == EtqTipo)
                {
                    if (x.InnerText.ToUpper() == EtqUrbana)
                    {
                        esUrbana = true;
                    }
                    else
                    if (x.InnerText.ToUpper() == EtqRustica)
                    {
                        esUrbana = false;
                    }
                    else
                    {
                        this.IncorrectLabelError(
                            "Tipo de finca no comprendido en "
                            + name + '(' + id + ')'
                            );
                    }
                }
                else
                if (x.Name.ToUpper() == EtqVendido)
                {
                    foreach (XmlNode nv in x.Attributes)
                    {
                        if (nv.Name.ToUpper() == EtqNombre)
                        {
                            nombreComprador = nv.InnerText;
                        }
                        else
                        if (nv.Name.ToUpper() == EtqPrecio)
                        {
                            precioDeVenta = Convert.ToDouble(nv.InnerText, CultureInfo.InvariantCulture);
                        }
                        else
                        {
                            this.IncorrectLabelError("info de venta no válida");
                        }
                    }
                }
                else
                if (x.Name.ToUpper() == EtqDireccion)
                {
                    d = new Estate.Address();
                    foreach (XmlNode nd in x.ChildNodes)
                    {
                        if (nd.Name.ToUpper() == EtqStreetNumber)
                        {
                            d.StreetNumber = Convert.ToInt32(nd.InnerText);
                        }
                        else
                        if (nd.Name.ToUpper() == EtqFloor)
                        {
                            d.Floor = Convert.ToInt32(nd.InnerText);
                        }
                        else
                        if (nd.Name.ToUpper() == EtqPostalCode)
                        {
                            d.PostalCode = Convert.ToInt32(nd.InnerText);
                        }
                        else
                        if (nd.Name.ToUpper() == EtqDoor)
                        {
                            d.Door = nd.InnerText;
                        }
                        else
                        if (nd.Name.ToUpper() == EtqStreet)
                        {
                            d.Street = nd.InnerText;
                        }
                        else
                        if (nd.Name.ToUpper() == EtqCity)
                        {
                            d.City = nd.InnerText;
                        }
                        else
                        if (nd.Name.ToUpper() == EtqProvince)
                        {
                            d.Province = nd.InnerText;
                        }
                    }
                }
            }

            Estate f = this.InsertEstate(place, id, name, area);

            f.Valor = valor;

            if (f.IsUrban != esUrbana)
            {
                f.IsUrban = esUrbana;
            }

            if (d != null)
            {
                f.ponDireccion(d);
            }

            if (!string.IsNullOrEmpty(refCatastral))
            {
                f.RefCatastral = refCatastral;
            }

            if (!string.IsNullOrEmpty(observaciones))
            {
                f.Remarks = observaciones;
            }

            if (precioDeVenta > 0.0 ||
                nombreComprador.Length > 0)
            {
                f.fueVendido(nombreComprador, precioDeVenta);
            }
        }
Ejemplo n.º 3
0
        public string GetHtml()
        {
            int    numFincas       = 0;
            double superficieTotal = 0.0;
            double valorTotal      = 0.0;
            double valor;
            double valorMedio;

            if (this.Html == null)
            {
                this.processStart(
                    "Generando informe...",
                    0, areas.Count
                    );

                // Crear el contenido HTML
                this.html.Append(
                    "<header><META HTTP-EQUIV=\"Content-Type\" "
                    + "CONTENT=\"text/html;charset=ISO-8859-1\">"
                    + "<title>Informe gF</title>\n\n</header><body>\n\n");

                this.html.Append("\n\n<p><center><h1>Informe de fincas</h1></center></p>\n\n");
                this.html.Append("<table width=100%>\n");
                this.html.Append("<tr><td><b><u>Ref.Catastral/Id</u></b></td>"
                                 + "<td><b><u>Nombre</u></b></td>"
                                 + "<td><b><u>Superficie</u></b></td>"
                                 + "<td><b><u>Valoración</u></b></td>"
                                 + "<td><b><u>Situado en</u></b></td>"
                                 + "<td><b><u>Observaciones</u></b></td></tr>\n\n");

                for (int i = 0; i < areas.Count; ++i)
                {
                    if (areas[i] is Estate finca)
                    {
                        ++numFincas;
                        finca = ( Estate )areas[i];

                        // Calcular el valor
                        superficieTotal += finca.Extension;

                        if (finca.WasSold())
                        {
                            valor = finca.getPrecioDeVenta();
                        }
                        else
                        {
                            valor = finca.Valor;
                        }

                        valorTotal += valor;

                        // Crear el contenido en Html para la finca
                        this.html.Append("<tr><td><font size=-2><b>" + finca.RefCatastral
                                         + "</b></font></td></tr><tr><td><font size=-2><b>"
                                         + finca.Id + "</b></font></td><td><font size=-2>"
                                         + Area.FormatForPresentation(finca.Name)
                                         + "</font></td>");

                        this.html.Append("<td><font size=-2>"
                                         + Estate.cnvtHaMc((( Estate )finca).Extension).ToString("N2")
                                         + " m<sup>2</sup></font></td>");

                        this.html.Append("<td><font size=-2>"
                                         + valor.ToString("C")
                                         + "</font></td>");

                        this.html.Append("<td><font size=-2>"
                                         + PreparePath(finca)
                                         + "</td></font><td><font size=-2>"
                                         + finca.Remarks
                                         + "</font></td>\n</tr>\n");

                        this.html.Append("\n<tr><td><hr></td></tr>\n");
                    }

                    this.processMakeStep(i);
                }

                this.html.Append("</table><p>\n");

                // Indicar el valor y la superficie total
                if (superficieTotal == 0)
                {
                    valorMedio = 0;
                }
                else
                {
                    valorMedio = valorTotal /
                                 ((double)Estate.cnvtHaMc(superficieTotal));
                }

                this.html.Append("\n\n<table border=0>"
                                 + "<tr><td><font size=-2><b>Núm. fincas:</b></font></td>"
                                 + "<td><font size=-2>"
                                 + Convert.ToString(numFincas)
                                 + "</font></td></tr>"
                                 + "\n<tr><td><font size=-2><b>Superficie total:</b></font></td>"
                                 + "<td><font size=-2>"
                                 + Estate.cnvtHaMc(superficieTotal).ToString("N2")
                                 + " m<sup>2</sup></font></td></tr>"
                                 + "\n<tr><td><font size=-2><b>Valor total:</b></font></td>"
                                 + "<td><font size=-2>"
                                 + valorTotal.ToString("C")
                                 + "</font></td></tr>"
                                 + "\n<tr><td><b><font size=-2>Valor medio por m.c.:</b></font></td>"
                                 + "<td><font size=-2>"
                                 + valorMedio.ToString("C")
                                 + "</font></td></tr>\n"
                                 + "</table>");

                this.html.Append("\n\n<p>\n\n</body></html>\n");
                this.processEnd();
            }

            return(this.Html);
        }