/// <summary> /// Procedure to clear AFDAddressData Structure /// </summary> /// <param name="details">AFDData to be cleared</param> public void ClearAFDAddressData(ref afdAddressData details) { details.Lookup = string.Empty; details.Name = string.Empty; details.Organisation = string.Empty; details.Prop = string.Empty; details.Street = string.Empty; details.Locality = string.Empty; details.Town = string.Empty; details.PostalCounty = string.Empty; details.AbbreviatedPostalCounty = string.Empty; details.OptionalCounty = string.Empty; details.AbbreviatedOptionalCounty = string.Empty; details.TraditionalCounty = string.Empty; details.AdministrativeCounty = string.Empty; details.Postcode = string.Empty; details.DPS = string.Empty; details.PostcodeFrom = string.Empty; details.PostcodeType = string.Empty; details.MailsortCode = string.Empty; details.Phone = string.Empty; details.GridE = string.Empty; details.GridN = string.Empty; details.Miles = string.Empty; details.Km = string.Empty; details.Latitude = string.Empty; details.Longitude = string.Empty; details.JustBuilt = string.Empty; details.UrbanRuralCode = string.Empty; details.UrbanRuralName = string.Empty; details.WardCode = string.Empty; details.WardName = string.Empty; details.ConstituencyCode = string.Empty; details.Constituency = string.Empty; details.EERCode = string.Empty; details.EERName = string.Empty; details.AuthorityCode = string.Empty; details.Authority = string.Empty; details.LEACode = string.Empty; details.LEAName = string.Empty; details.TVRegion = string.Empty; details.Occupancy = string.Empty; details.OccupancyDescription = string.Empty; details.AddressType = string.Empty; details.AddressTypeDescription = string.Empty; details.UDPRN = string.Empty; details.NHSCode = string.Empty; details.NHSName = string.Empty; details.PCTCode = string.Empty; details.PCTName = string.Empty; details.CensationCode = string.Empty; details.Affluence = string.Empty; details.Lifestage = string.Empty; details.AdditionalCensusInfo = string.Empty; details.SOALower = string.Empty; details.SOAMiddle = string.Empty; details.Residency = string.Empty; details.HouseholdComposition = string.Empty; details.Business = string.Empty; details.Size = string.Empty; details.SICCode = string.Empty; details.OnEditedRoll = string.Empty; details.Gender = string.Empty; details.Forename = string.Empty; details.MiddleInitial = string.Empty; details.Surname = string.Empty; details.DateOfBirth = string.Empty; details.PhoneMatchType = string.Empty; details.DataSet = string.Empty; details.CouncilTaxBand = string.Empty; details.Product = string.Empty; details.Key = string.Empty; details.List = string.Empty; details.Country = string.Empty; details.CountryISO = string.Empty; }
/// <summary> /// Function to lookup Address data /// </summary> /// <param name="dataName">Field Specification String</param> /// <param name="operation">Function Type Constants</param> /// <param name="details">Object containing search/lookup values. Becomes populated with results</param> /// <returns>The function returns a long which is the result code. This will be >= 0 if the function is successful, or < 0 in the case of an error</returns> public long AFDData(string dataName, long operation, ref afdAddressData details) { StringBuilder passDetails = new StringBuilder(); long retVal; /// Compose the DLL string from the supplied structure passDetails.Append(details.Lookup.PadRight(255, ' ')); passDetails.Append(details.Name.PadRight(120, ' ')); passDetails.Append(details.Organisation.PadRight(120, ' ')); passDetails.Append(details.Prop.PadRight(120, ' ')); passDetails.Append(details.Street.PadRight(120, ' ')); passDetails.Append(details.Locality.PadRight(70, ' ')); passDetails.Append(details.Town.PadRight(30, ' ')); passDetails.Append(details.PostalCounty.PadRight(30, ' ')); passDetails.Append(details.AbbreviatedPostalCounty.PadRight(30, ' ')); passDetails.Append(details.OptionalCounty.PadRight(30, ' ')); passDetails.Append(details.AbbreviatedOptionalCounty.PadRight(30, ' ')); passDetails.Append(details.TraditionalCounty.PadRight(30, ' ')); passDetails.Append(details.AdministrativeCounty.PadRight(30, ' ')); passDetails.Append(details.Postcode.PadRight(10, ' ')); passDetails.Append(details.DPS.PadRight(2, ' ')); passDetails.Append(details.PostcodeFrom.PadRight(8, ' ')); passDetails.Append(details.PostcodeType.PadRight(6, ' ')); passDetails.Append(details.MailsortCode.PadRight(5, ' ')); passDetails.Append(details.Phone.PadRight(20, ' ')); passDetails.Append(details.GridE.PadRight(10, ' ')); passDetails.Append(details.GridN.PadRight(10, ' ')); passDetails.Append(details.Miles.PadRight(6, ' ')); passDetails.Append(details.Km.PadRight(6, ' ')); passDetails.Append(details.Latitude.PadRight(10, ' ')); passDetails.Append(details.Longitude.PadRight(10, ' ')); passDetails.Append(details.JustBuilt.PadRight(10, ' ')); passDetails.Append(details.UrbanRuralCode.PadRight(2, ' ')); passDetails.Append(details.UrbanRuralName.PadRight(60, ' ')); passDetails.Append(details.WardCode.PadRight(9, ' ')); passDetails.Append(details.WardName.PadRight(50, ' ')); passDetails.Append(details.ConstituencyCode.PadRight(9, ' ')); passDetails.Append(details.Constituency.PadRight(50, ' ')); passDetails.Append(details.EERCode.PadRight(9, ' ')); passDetails.Append(details.EERName.PadRight(40, ' ')); passDetails.Append(details.AuthorityCode.PadRight(9, ' ')); passDetails.Append(details.Authority.PadRight(50, ' ')); passDetails.Append(details.LEACode.PadRight(9, ' ')); passDetails.Append(details.LEAName.PadRight(50, ' ')); passDetails.Append(details.TVRegion.PadRight(30, ' ')); passDetails.Append(details.Occupancy.PadRight(6, ' ')); passDetails.Append(details.OccupancyDescription.PadRight(30, ' ')); passDetails.Append(details.AddressType.PadRight(6, ' ')); passDetails.Append(details.AddressTypeDescription.PadRight(55, ' ')); passDetails.Append(details.UDPRN.PadRight(8, ' ')); passDetails.Append(details.NHSCode.PadRight(9, ' ')); passDetails.Append(details.NHSName.PadRight(50, ' ')); passDetails.Append(details.PCTCode.PadRight(9, ' ')); passDetails.Append(details.PCTName.PadRight(50, ' ')); passDetails.Append(details.CensationCode.PadRight(10, ' ')); passDetails.Append(details.Affluence.PadRight(30, ' ')); passDetails.Append(details.Lifestage.PadRight(100, ' ')); passDetails.Append(details.AdditionalCensusInfo.PadRight(200, ' ')); passDetails.Append(details.SOALower.PadRight(10, ' ')); passDetails.Append(details.SOAMiddle.PadRight(10, ' ')); passDetails.Append(details.Residency.PadRight(6, ' ')); passDetails.Append(details.HouseholdComposition.PadRight(106, ' ')); passDetails.Append(details.Business.PadRight(100, ' ')); passDetails.Append(details.Size.PadRight(6, ' ')); passDetails.Append(details.SICCode.PadRight(10, ' ')); passDetails.Append(details.OnEditedRoll.PadRight(6, ' ')); passDetails.Append(details.Gender.PadRight(6, ' ')); passDetails.Append(details.Forename.PadRight(30, ' ')); passDetails.Append(details.MiddleInitial.PadRight(6, ' ')); passDetails.Append(details.Surname.PadRight(30, ' ')); passDetails.Append(details.DateOfBirth.PadRight(10, ' ')); passDetails.Append(details.PhoneMatchType.PadRight(6, ' ')); passDetails.Append(details.DataSet.PadRight(16, ' ')); passDetails.Append(details.CouncilTaxBand.PadRight(6, ' ')); passDetails.Append(details.Product.PadRight(40, ' ')); passDetails.Append(details.Key.PadRight(255, ' ')); passDetails.Append(details.List.PadRight(512, ' ')); passDetails.Append(details.Country.PadRight(30, ' ')); passDetails.Append(details.CountryISO.PadRight(3, ' ')); // Call the DLL function string returnDetails = CallDllFunction(dataName, operation, passDetails, out retVal); // Retrieve the data structure from the string returned by the DLL details.Lookup = returnDetails.Substring(0, 255).Trim(); details.Name = returnDetails.Substring(255, 120).Trim(); details.Organisation = returnDetails.Substring(375, 120).Trim(); details.Prop = returnDetails.Substring(495, 120).Trim(); details.Street = returnDetails.Substring(615, 120).Trim(); details.Locality = returnDetails.Substring(735, 70).Trim(); details.Town = returnDetails.Substring(805, 30).Trim(); details.PostalCounty = returnDetails.Substring(835, 30).Trim(); details.AbbreviatedPostalCounty = returnDetails.Substring(865, 30).Trim(); details.OptionalCounty = returnDetails.Substring(895, 30).Trim(); details.AbbreviatedOptionalCounty = returnDetails.Substring(925, 30).Trim(); details.TraditionalCounty = returnDetails.Substring(955, 30).Trim(); details.AdministrativeCounty = returnDetails.Substring(985, 30).Trim(); details.Postcode = returnDetails.Substring(1015, 10).Trim(); details.DPS = returnDetails.Substring(1025, 2).Trim(); details.PostcodeFrom = returnDetails.Substring(1027, 8).Trim(); details.PostcodeType = returnDetails.Substring(1035, 6).Trim(); details.MailsortCode = returnDetails.Substring(1041, 5).Trim(); details.Phone = returnDetails.Substring(1046, 20).Trim(); details.GridE = returnDetails.Substring(1066, 10).Trim(); details.GridN = returnDetails.Substring(1076, 10).Trim(); details.Miles = returnDetails.Substring(1086, 6).Trim(); details.Km = returnDetails.Substring(1092, 6).Trim(); details.Latitude = returnDetails.Substring(1098, 10).Trim(); details.Longitude = returnDetails.Substring(1108, 10).Trim(); details.JustBuilt = returnDetails.Substring(1118, 10).Trim(); details.UrbanRuralCode = returnDetails.Substring(1128, 2).Trim(); details.UrbanRuralName = returnDetails.Substring(1130, 60).Trim(); details.WardCode = returnDetails.Substring(1190, 9).Trim(); details.WardName = returnDetails.Substring(1199, 50).Trim(); details.ConstituencyCode = returnDetails.Substring(1249, 9).Trim(); details.Constituency = returnDetails.Substring(1258, 50).Trim(); details.EERCode = returnDetails.Substring(1308, 9).Trim(); details.EERName = returnDetails.Substring(1317, 40).Trim(); details.AuthorityCode = returnDetails.Substring(1357, 9).Trim(); details.Authority = returnDetails.Substring(1366, 50).Trim(); details.LEACode = returnDetails.Substring(1416, 9).Trim(); details.LEAName = returnDetails.Substring(1425, 50).Trim(); details.TVRegion = returnDetails.Substring(1475, 30).Trim(); details.Occupancy = returnDetails.Substring(1505, 6).Trim(); details.OccupancyDescription = returnDetails.Substring(1511, 30).Trim(); details.AddressType = returnDetails.Substring(1541, 6).Trim(); details.AddressTypeDescription = returnDetails.Substring(1547, 55).Trim(); details.UDPRN = returnDetails.Substring(1602, 8).Trim(); details.NHSCode = returnDetails.Substring(1610, 9).Trim(); details.NHSName = returnDetails.Substring(1619, 50).Trim(); details.PCTCode = returnDetails.Substring(1669, 9).Trim(); details.PCTName = returnDetails.Substring(1678, 50).Trim(); details.CensationCode = returnDetails.Substring(1728, 10).Trim(); details.Affluence = returnDetails.Substring(1738, 30).Trim(); details.Lifestage = returnDetails.Substring(1768, 100).Trim(); details.AdditionalCensusInfo = returnDetails.Substring(1868, 200).Trim(); details.SOALower = returnDetails.Substring(2068, 10).Trim(); details.SOAMiddle = returnDetails.Substring(2078, 10).Trim(); details.Residency = returnDetails.Substring(2088, 6).Trim(); details.HouseholdComposition = returnDetails.Substring(2094, 106).Trim(); details.Business = returnDetails.Substring(2200, 100).Trim(); details.Size = returnDetails.Substring(2300, 6).Trim(); details.SICCode = returnDetails.Substring(2306, 10).Trim(); details.OnEditedRoll = returnDetails.Substring(2316, 6).Trim(); details.Gender = returnDetails.Substring(2322, 6).Trim(); details.Forename = returnDetails.Substring(2328, 30).Trim(); details.MiddleInitial = returnDetails.Substring(2358, 6).Trim(); details.Surname = returnDetails.Substring(2364, 30).Trim(); details.DateOfBirth = returnDetails.Substring(2394, 10).Trim(); details.PhoneMatchType = returnDetails.Substring(2404, 6).Trim(); details.DataSet = returnDetails.Substring(2410, 16).Trim(); details.CouncilTaxBand = returnDetails.Substring(2426, 6).Trim(); details.Product = returnDetails.Substring(2432, 40).Trim(); details.Key = returnDetails.Substring(2472, 255).Trim(); details.List = returnDetails.Substring(2727, 512).Trim(); details.Country = returnDetails.Substring(3239, 30).Trim(); details.CountryISO = returnDetails.Substring(3269, 3).Trim(); // Return with the function return value return(retVal); }