public int Save(ref AddressViewModel address, string memberId, string locale) { var shippingProvider = ShippingProvider.GetShippingProvider(locale.Substring(3)); if (shippingProvider != null) { //check if the address exist var addressToSave = ModelConverter.ConvertAddressViewModelToShippingAddress(address); if (locale == "zh-CN") { addressToSave.Address.Line3 = string.Empty; addressToSave.Address.Line4 = string.Empty; } var existing = shippingProvider.GetShippingAddressFromAddressGuidOrId(address.CloudId, 0); if (null != existing) { addressToSave.ID = existing.ID; } var shippingAddressId = shippingProvider.SaveShippingAddress(memberId, locale, addressToSave, false, true, false); if (shippingAddressId > 0) { var savedAddress = shippingProvider.GetShippingAddressFromAddressGuidOrId(address.CloudId, 0); address.LastUpdatedDate = savedAddress.Created; address = ModelConverter.ConvertShippingAddressToAddressViewModel(savedAddress); address.CustomShippingMethods = ModelConverter.GetCustomShippingMethods(memberId, savedAddress, locale); } return(shippingAddressId); } return(0); }
public List <CustomShippingMethodViewModel> GetShippingMethods(string memberId, Guid id, string locale) { var shippingProvider = ShippingProvider.GetShippingProvider(locale.Substring(3)); if (shippingProvider != null) { var existing = shippingProvider.GetShippingAddressFromAddressGuidOrId(id, 0); if (existing != null) { return(ModelConverter.GetCustomShippingMethods(memberId, existing, locale)); } } return(null); }