/// <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 }); }
/// <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); }