Beispiel #1
0
        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}");
        }