public static bool TryParse(string lastLine, out CaCityProvidencePost cityProvPost) { if (string.IsNullOrWhiteSpace(lastLine)) { cityProvPost = null; return(false); } lastLine = lastLine.Trim(); var addrData = new AddressData { PostalCode = string.Empty, SortingCode = string.Empty, RegionAbbrev = string.Empty, Locality = string.Empty }; GetPostalCode(lastLine, addrData); GetProvidence(lastLine, addrData); UsCityStateZip.GetCity(lastLine, addrData); addrData.RegionName = _caProvAbbrev2Name.ContainsKey(addrData.RegionAbbrev) ? _caProvAbbrev2Name[addrData.RegionAbbrev] : ""; cityProvPost = new CaCityProvidencePost(addrData) { Src = lastLine }; return(!string.IsNullOrWhiteSpace(addrData.PostalCode) && !string.IsNullOrWhiteSpace(addrData.RegionAbbrev) && !string.IsNullOrWhiteSpace(addrData.Locality)); }
public void TestGetCity() { var addrData = new AddressData(); var ln = "EL CAMPO, TX"; UsCityStateZip.GetState(ln, addrData); UsCityStateZip.GetCity(ln, addrData); Assert.IsNotNull(addrData.Locality); Assert.AreEqual("TX", addrData.RegionAbbrev); Assert.AreEqual("El Campo", addrData.Locality); Console.WriteLine($"{addrData.Locality} {addrData.RegionAbbrev}"); ln = "Washington DC 20006"; UsCityStateZip.GetZipCode(ln, addrData); UsCityStateZip.GetState(ln, addrData); UsCityStateZip.GetCity(ln, addrData); Assert.IsNotNull(addrData.Locality); Assert.AreEqual("DC", addrData.RegionAbbrev); Assert.AreEqual("Washington", addrData.Locality); Console.WriteLine($"{addrData.Locality} {addrData.RegionAbbrev}"); }