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); }
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); } }
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); }