public static ApiClientContext Create(Action<ApiClientConfigurationExpression> action) { var apiClientContext = new ApiClientContext(); var configurationExpression = new ApiClientConfigurationExpression(apiClientContext); action(configurationExpression); return apiClientContext; }
internal ApiClientConfigurationExpression(ApiClientContext apiClientContext) { if (apiClientContext == null) { throw new ArgumentNullException("apiClientContext"); } _apiClientContext = apiClientContext; }
public static ApiClientContext Create(Action <ApiClientConfigurationExpression> action) { var apiClientContext = new ApiClientContext(); var configurationExpression = new ApiClientConfigurationExpression(apiClientContext); action(configurationExpression); return(apiClientContext); }
internal static TClient GetClient <TClient>(this ApiClientContext apiClientContext, Func <TClient> valueFactory) { return((TClient)apiClientContext.Clients.GetOrAdd(typeof(TClient), k => valueFactory())); }
public static IShipmentTypesClient GetShipmentTypesClient(this ApiClientContext apiClientContext) { return(apiClientContext.GetClient <IShipmentTypesClient>(() => new ShipmentTypesClient(apiClientContext.HttpClient))); }
public static IShipmentsClient GetShipmentsClient(this ApiClientContext apiClientContext) { return(apiClientContext.GetClient <IShipmentsClient>(() => new ShipmentsClient(apiClientContext.HttpClient, apiClientContext.AffiliateKey))); }