.ForMember(dest => dest.LastName, opt => opt.MapFrom(src => src.LastName)) .ForMember(dest => dest.EmailAddress, opt => opt.MapFrom(src => src.EmailAddress)) .ForMember(dest => dest.AddressLine1, opt => opt.MapFrom(src => src.AddressLine1)) .ForMember(dest => dest.AddressLine2, opt => opt.MapFrom(src => src.AddressLine2)) .ForMember(dest => dest.City, opt => opt.MapFrom(src => src.City)) .ForMember(dest => dest.RegionState, opt => opt.MapFrom(src => src.RegionState)) .ForMember(dest => dest.PostalCode, opt => opt.MapFrom(src => src.PostalCode)) .ForMember(dest => dest.Country, opt => opt.MapFrom(src => src.Country)) .ForMember(dest => dest.Location, opt => opt.ResolveUsing( async src => await IpLocatorService.ResolveAsync()) .AfterMap(async (src, dest) => { if (dest.Location == "USA") { dest.TaxRate = await TaxService.FindTax(dest.City, dest.PostalCode); dest.ChargeTaxes = true; } });