/// <summary>
 /// Converts a braintree address to a <see cref="IAddress"/>.
 /// </summary>
 /// <param name="address">
 /// The address.
 /// </param>
 /// <param name="addressType">
 /// The address type.
 /// </param>
 /// <returns>
 /// The <see cref="IAddress"/>.
 /// </returns>
 public static IAddress ToAddress(this global::Braintree.Address address, AddressType addressType)
 {
     return(new Core.Models.Address()
     {
         Name = string.Format("{0} {1}", address.FirstName, address.LastName),
         Address1 = address.StreetAddress,
         Locality = address.Locality,
         Region = address.Region,
         PostalCode = address.PostalCode,
         CountryCode = address.CountryCodeAlpha2,
         AddressType = addressType
     });
 }
Beispiel #2
0
        /// <summary>
        /// Performs an equality comparison between a Braintree <see cref="Address"/> and a Merchello <see cref="IAddress"/>.
        /// </summary>
        /// <param name="bta">
        /// The Braintree address.
        /// </param>
        /// <param name="ma">
        /// The Merchello address.
        /// </param>
        /// <returns>
        /// Returns true if address properties match.
        /// </returns>
        private static bool IsEqual(this Address bta, IAddress ma)
        {
            var initial = bta.Company == ma.Organization && bta.StreetAddress == ma.Address1 &&
                          bta.ExtendedAddress == ma.Address2 && bta.Locality == ma.Locality && bta.Region == ma.Region &&
                          bta.CountryCodeAlpha2 == ma.CountryCode && bta.PostalCode == ma.PostalCode;

            if (!initial)
            {
                return(false);
            }


            if (!string.IsNullOrEmpty(ma.Name))
            {
                return(bta.FirstName == ma.TrySplitFirstName() && bta.LastName == ma.TrySplitLastName());
            }

            return(true);
        }