Esempio n. 1
0
        /// <summary>
        /// Genera el contenido web de un lugar
        /// </summary>
        /// <param name="web">El fichero de la web</param>
        /// <param name="place">El lugar del que volcar la info</param>
        private void GenerateContentsPlacePage(StreamWriter web, Place place)
        {
            Place lugar = place.Parent;

            // Poner el título
            web.Write("<h1>");
            web.Write(Area.FormatForPresentation(place.Name));
            web.Write("</h1>\n<hr>\n");

            // A dónde pertenece ?
            web.Write(GetWhereIsInfo(lugar));

            // Imagen de zona
            web.Write("<center><img src=\"");
            web.Write(Path.GetFileName(place.GetImageName()));
            web.Write("\" ALT=\"imagen correspondiente a la zona\">"
                      + "</center>\n<hr>\n\n"
                      );

            // Índice de lugares/parcelas que contiene
            web.Write("\n<hr><P><h3>Aquí hay:</h3><P>\n<ul>");
            foreach (Place subplace in place.Places)
            {
                web.Write("\n<li>");
                web.Write("Lugar de <a href=\""
                          + Database.EtqLugar + '_' + subplace.Id + ExtHtml
                          + "\">"
                          + Area.FormatForPresentation(subplace.Name)
                          );

                web.Write("</a> conteniendo "
                          + subplace.CountPlaces.ToString()
                          + " lugare(s) y "
                          + subplace.CountEstates.ToString()
                          + " finca(s)."
                          );
            }

            foreach (Estate estate in place.Estates)
            {
                web.Write("\n<li>");
                web.Write("Finca: <a href=\""
                          + Database.EtqFinca + '_' + estate.Id + ExtHtml
                          + "\">"
                          + Area.FormatForPresentation(estate.Name)
                          );

                web.Write("</a> de "
                          + Estate.cnvtHaMc(estate.Extension)
                          + " m.c."
                          );
            }

            web.Write("\n</ul>\n<P>");

            GenerateFooterForArea(web, place);

            // Copiar archivos
            CopyImages(place);
        }
Esempio n. 2
0
        /// <summary>
        /// Genera el contenido de una Finca
        /// </summary>
        /// <param name="web">El archivo al que volcar la info</param>
        /// <param name="p">La finca de la que volcar la info</param>
        private void GenerateContentsRealEstatePage(StreamWriter web, Estate p)
        {
            Place lugar;

            // Poner el título
            web.Write("<h1>Finca: ");
            web.Write(p.Id);
            web.Write("</h1>\n<hr>");

            // A dónde pertenece ?
            lugar = p.Parent;
            if (lugar != null)
            {
                web.Write(GetWhereIsInfo(lugar));
            }

            // Imagen de la finca
            web.Write("<P><center><img src=\"");
            web.Write(Path.GetFileName(p.GetImageName()));
            web.Write("\" ALT=\"Imagen de la finca\"></center>\n");

            // Superficie
            web.Write("<hr><P>\n<center>Superficie: ");
            web.Write(Estate.cnvtHaMc(p.Extension).ToString());
            web.Write("m.c.</center>\n<P>\n\n");

            web.Write("<P><hr>\n<ul>\n");

            // Imagen de la zona de la finca
            web.Write("<li><a href=\"");
            web.Write(Path.GetFileName(p.getNombreImagenZona()));
            web.Write("\">Imagen de zona inmediata</a>\n");

            // Enlace a zona
            if (lugar != null)
            {
                web.Write("<li><a href=\""
                          + Database.EtqLugar
                          + '_'
                          + p.Parent.Id
                          + ExtHtml
                          + "\">Información de la zona</a>\n"
                          )
                ;
            }

            web.Write("\n</ul>\n<hr>\n<P>\n\n");

            this.GenerateFooterForArea(web, p);

            CopyImages(p);
        }
Esempio 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);
        }