/// <summary>
        /// Gets the PayPal address type model from a specific IOrderAddress.
        /// </summary>
        /// <value>The PayPal address type model.</value>
        public static AddressType ToAddressType(IOrderAddress orderAddress)
        {
            var addressType = new AddressType();

            addressType.CityName    = orderAddress.City;
            addressType.Country     = CountriesAndStates.GetAlpha2CountryCode(orderAddress.CountryCode);
            addressType.CountryName = orderAddress.CountryName;
            addressType.Street1     = orderAddress.Line1;
            addressType.Street2     = orderAddress.Line2;
            addressType.PostalCode  = orderAddress.PostalCode;
            addressType.Phone       = (string.IsNullOrEmpty(orderAddress.DaytimePhoneNumber) ? orderAddress.EveningPhoneNumber : orderAddress.DaytimePhoneNumber);
            addressType.Name        = orderAddress.FirstName + " " + orderAddress.LastName;

            var stateName = orderAddress.RegionName;
            var address   = orderAddress as OrderAddress;

            if (!string.IsNullOrEmpty(address?.State))
            {
                stateName = address.State;
            }

            addressType.StateOrProvince = CountriesAndStates.GetStateCode(stateName);
            return(addressType);
        }