/// <summary> /// Helper method to get get the <see cref="IGatewayProviderSettings"/> from the appropriate resolver /// </summary> /// <param name="gatewayProvider">The <see cref="GatewayProviderDisplay"/></param> /// <param name="gatewayProviderType">The gateway provider type</param> /// <returns>A <see cref="IGatewayProviderSettings"/> or null</returns> private IGatewayProviderSettings GetGatewayProviderFromResolver(GatewayProviderDisplay gatewayProvider, GatewayProviderType gatewayProviderType) { GatewayProviderBase provider = null; switch (gatewayProviderType) { case GatewayProviderType.Notification: provider = _gatewayContext.Notification.GetProviderByKey(gatewayProvider.Key, false); break; case GatewayProviderType.Payment: provider = _gatewayContext.Payment.GetProviderByKey(gatewayProvider.Key, false); break; case GatewayProviderType.Shipping: provider = _gatewayContext.Shipping.GetProviderByKey(gatewayProvider.Key, false); break; case GatewayProviderType.Taxation: provider = _gatewayContext.Taxation.GetProviderByKey(gatewayProvider.Key, false); break; } return(provider != null ? provider.GatewayProviderSettings : null); }
/// <summary> /// The resolve core. /// </summary> /// <param name="source"> /// The source. /// </param> /// <returns> /// The <see cref="IEnumerable{GatewayResourceDisplay}"/>. /// </returns> protected override IEnumerable <GatewayResourceDisplay> ResolveCore(GatewayProviderBase source) { return(source.ListResourcesOffered().Select(x => x.ToGatewayResourceDisplay())); }
/// <summary> /// The to taxation gateway provider display. /// </summary> /// <param name="provider"> /// The provider. /// </param> /// <returns> /// The <see cref="TaxationGatewayProviderDisplay"/>. /// </returns> internal static TaxationGatewayProviderDisplay ToTaxationGatewayProviderDisplay(this GatewayProviderBase provider) { var display = AutoMapper.Mapper.Map <TaxationGatewayProviderDisplay>(provider.GatewayProviderSettings); display.TaxationByProductProvider = provider is ITaxationByProductProvider; return(display); }