public string GetStateNameForZipCode(int zipCode, AddressVerifier verifier)
        {
            if (!verifier.IsValidZipCode(zipCode))
            {
                throw new InvalidOperationException($"Invalid ZipCode: {zipCode}");
            }

            switch (zipCode)
            {
            case 9:
                return("Baku");

            case 10:
                return("Ganja");

            case 11:
                return("Izmir");

            case 12:
                return("Istanbul");

            default:
                throw new InvalidOperationException($"No state is found with {zipCode}");
            }
        }
예제 #2
0
        static void Main(string[] args)
        {
            var stateFinder = new StateFinder();

            // For the United States
            try{
                var addressVerifier = new AddressVerifier();
                Console.WriteLine(stateFinder.GetStateNameForZipCode(11, addressVerifier));
                Console.WriteLine(stateFinder.GetStateNameForZipCode(9, addressVerifier));
            } catch (InvalidOperationException exception) {
                Console.WriteLine(exception.Message);
            }

            // For the Germany
            try{
                var addressVerifier = new GermanyAddressVerifier();
                Console.WriteLine(stateFinder.GetStateNameForZipCode(9, addressVerifier));
            } catch (InvalidOperationException exception) {
                Console.WriteLine(exception.Message);
            }
        }