public Location(IDataRecord readerDataObject, IConditionalFormatter<string, string> formatter) { BuildFromReader(readerDataObject, formatter); }
private void BuildFromReader(IDataRecord readerDataObject, IConditionalFormatter<string, string> formatter) { if (readerDataObject["UPRN"] != DBNull.Value) this.UPRN = long.Parse(readerDataObject["UPRN"].ToString(), CultureInfo.InvariantCulture.NumberFormat); if (readerDataObject[LocationFields.AdministrativeArea] != DBNull.Value) this.AdministrativeArea = formatter.DetermineConditionsAndFormat(readerDataObject[LocationFields.AdministrativeArea].ToString(),LocationFields.AdministrativeArea); if (readerDataObject[LocationFields.BuildingName] != DBNull.Value) this.BuildingName = formatter.DetermineConditionsAndFormat(readerDataObject[LocationFields.BuildingName].ToString(),LocationFields.BuildingName); if (readerDataObject[LocationFields.BlpuOrganisation] != DBNull.Value) this.OrganisationName = formatter.DetermineConditionsAndFormat(readerDataObject[LocationFields.BlpuOrganisation].ToString(),LocationFields.BlpuOrganisation); if (readerDataObject[LocationFields.StreetDescription] != DBNull.Value) this.StreetDescription = formatter.DetermineConditionsAndFormat(readerDataObject[LocationFields.StreetDescription].ToString(),LocationFields.StreetDescription); if (readerDataObject[LocationFields.PaoStartNumber] != DBNull.Value) this.HouseNumber = formatter.DetermineConditionsAndFormat(readerDataObject[LocationFields.PaoStartNumber].ToString(),LocationFields.PaoStartNumber); if (readerDataObject[LocationFields.Locality] != DBNull.Value) this.Locality = formatter.DetermineConditionsAndFormat(readerDataObject[LocationFields.Locality].ToString(),LocationFields.Locality); if (readerDataObject[LocationFields.TownName] != DBNull.Value) this.TownName = formatter.DetermineConditionsAndFormat(readerDataObject[LocationFields.TownName].ToString(),LocationFields.TownName); if (readerDataObject[LocationFields.PostTown] != DBNull.Value) this.PostalTown = formatter.DetermineConditionsAndFormat(readerDataObject[LocationFields.PostTown].ToString(),LocationFields.PostTown); if (readerDataObject[LocationFields.Postcode] != DBNull.Value) this.PostCode = formatter.DetermineConditionsAndFormat(readerDataObject[LocationFields.Postcode].ToString(),LocationFields.Postcode); if (readerDataObject[LocationFields.PostcodeLocator] != DBNull.Value) this.PostcodeLocator = formatter.DetermineConditionsAndFormat(readerDataObject[LocationFields.PostcodeLocator].ToString(), LocationFields.PostcodeLocator); //TODO: Add formatter for int's below. if (readerDataObject[LocationFields.XCoordinate] != DBNull.Value) this.XCoordinate = float.Parse(readerDataObject[LocationFields.XCoordinate].ToString(), CultureInfo.InvariantCulture.NumberFormat); if (readerDataObject[LocationFields.YCoordinate] != DBNull.Value) this.YCoordinate = float.Parse(readerDataObject[LocationFields.YCoordinate].ToString(), CultureInfo.InvariantCulture.NumberFormat); }
public LocationRepository(IConnectionManager connectionManager, ILocationGroupBuilder locationGroupBuilder, IConditionalFormatter<string, string> formatter) { _connectionManager = connectionManager; _locationGroupBuilder = locationGroupBuilder; _formatter = formatter; }