public static IQuickShopServiceBuilder AddConsoleLogger(this IQuickShopServiceBuilder builder) { if (builder == null) { throw new ArgumentNullException(nameof(builder)); } builder.Services.AddSingleton <ILogger, ConsoleLogger>(); return(builder); }
public static IQuickShopServiceBuilder AddInMemoryRepository(this IQuickShopServiceBuilder builder) { if (builder == null) { throw new ArgumentNullException(nameof(builder)); } builder.Services.AddSingleton <IDatabaseContext, InMemoryDatabaseContext>(); return(builder); }
public static IQuickShopServiceBuilder AddStripePaymentProvider(this IQuickShopServiceBuilder builder, Action <StripeOptions> options) { if (builder == null) { throw new ArgumentNullException(nameof(builder)); } if (options == null) { throw new ArgumentNullException(nameof(options)); } builder.Services.Configure(options); builder.Services.AddSingleton <IPaymentProvider, StripePaymentProvider>(); return(builder); }
public static IQuickShopServiceBuilder AddMongoRepository(this IQuickShopServiceBuilder builder, Action <MongoOptions> options) { if (builder == null) { throw new ArgumentNullException(nameof(builder)); } if (options == null) { throw new ArgumentNullException(nameof(options)); } builder.Services.Configure(options); builder.Services.AddSingleton <ICollectionNameMapper, TypeCollectionNameMapper>(); builder.Services.AddSingleton <IDatabaseContext, MongoDatabaseContext>(); return(builder); }
public static IQuickShopServiceBuilder AddMongoRepository(this IQuickShopServiceBuilder builder) => AddMongoRepository(builder, _ => { });
public static IQuickShopServiceBuilder AddStripePaymentProvider(this IQuickShopServiceBuilder builder) => AddStripePaymentProvider(builder, _ => { });