public PaymentMapper(IStorefrontSettingsProvider storefrontSettingsProvider) { Assert.ArgumentNotNull(storefrontSettingsProvider, nameof(storefrontSettingsProvider)); var configuration = new MapperConfiguration( cfg => { cfg.AddProfile <AddressProfile>(); cfg.AddProfile(new PaymentProfile(storefrontSettingsProvider)); }); this.InnerMapper = new AutoMapper.Mapper(configuration); }
public CartMapper(ICurrencyProvider currencyProvider, IStorefrontSettingsProvider storefrontSettingsProvider) { Assert.ArgumentNotNull(currencyProvider, nameof(currencyProvider)); Assert.ArgumentNotNull(storefrontSettingsProvider, nameof(storefrontSettingsProvider)); var mapperConfiguration = new MapperConfiguration( cfg => { cfg.AddProfile(new CartProfile(currencyProvider)); cfg.AddProfile <AddressProfile>(); cfg.AddProfile <ShippingProfile>(); cfg.AddProfile(new PaymentProfile(storefrontSettingsProvider)); }); this.InnerMapper = new AutoMapper.Mapper(mapperConfiguration); }
public PaymentProfile(IStorefrontSettingsProvider storefrontSettingsProvider) { Assert.ArgumentNotNull(storefrontSettingsProvider, nameof(storefrontSettingsProvider)); this.CreateMap <FederatedPaymentInfo, Sitecore.Commerce.Entities.Carts.FederatedPaymentInfo>() .ForMember( dest => dest.PaymentMethodID, opt => opt.MapFrom( src => storefrontSettingsProvider.GetPaymentOptionId( Constants.StorefrontSettings.FederatedPaymentOptionTitle))) .ForMember(dest => dest.Amount, opt => opt.Ignore()) .ForMember(dest => dest.AuthorizationResult, opt => opt.Ignore()) .ForMember(dest => dest.ExternalId, opt => opt.Ignore()) .ForMember(dest => dest.LineIDs, opt => opt.Ignore()) .ForMember(dest => dest.PaymentProviderID, opt => opt.Ignore()); this.CreateMap <PaymentOption, Models.Entities.Payment.PaymentOption>(); this.CreateMap <PaymentMethod, Models.Entities.Payment.PaymentMethod>(); this.CreateMap <PaymentInfo, FederatedPaymentInfo>() .ForMember(dest => dest.CardToken, opt => opt.Ignore()) .ReverseMap(); }