public static VirtoCommerceCustomerModuleWebModelAddress CopyFrom(this VirtoCommerceCustomerModuleWebModelAddress result, ShopifyModel.Address address, Country[] countries) { result.InjectFrom<NullableAndEnumValueInjecter>(address); result.Organization = address.Company; result.CountryName = address.Country; result.PostalCode = address.Zip; result.Line1 = address.Address1; result.Line2 = address.Address2; result.RegionName = address.Province; result.Name = string.Join(" ", result.FirstName, result.LastName).Trim(); var country = countries.FirstOrDefault(c => string.Equals(c.Name, address.Country, StringComparison.OrdinalIgnoreCase)); if (country != null) { result.CountryCode = country.Code3; if (address.Province != null && country.Regions != null) { var region = country.Regions.FirstOrDefault(r => string.Equals(r.Name, address.Province, StringComparison.OrdinalIgnoreCase)); if (region != null) { result.RegionId = region.Code; } } } return result; }
private static Country ParseCountry(KeyValuePair<string, JObject> pair, List<RegionInfo> regions) { var region = regions.FirstOrDefault(r => string.Equals(r.EnglishName, pair.Key, StringComparison.OrdinalIgnoreCase)); var country = new Country { Name = pair.Key, Code2 = region != null ? region.TwoLetterISORegionName : string.Empty, Code3 = region != null ? region.ThreeLetterISORegionName : string.Empty, RegionType = pair.Value["label"] != null ? pair.Value["label"].ToString() : null }; var provinceCodes = pair.Value["province_codes"].ToObject<Dictionary<string, string>>(); if (provinceCodes != null && provinceCodes.Any()) { country.Regions = provinceCodes .Select(kvp => new CountryRegion { Name = kvp.Key, Code = kvp.Value }) .ToArray(); } return country; }
public static VirtoCommerceCustomerModuleWebModelAddress ToServiceModel(this ShopifyModel.Address address, Country[] countries) { var result = new VirtoCommerceCustomerModuleWebModelAddress(); result.CopyFrom(address, countries); return result; }
public static Address ToWebModel(this ShopifyModel.Address address, Country[] countries) { var result = new Address(); result.CopyFrom(address, countries); return result; }