public static FightBuilder ConfigureScheduling(this FightBuilder fightBuilder, Action <SchedulingBuilder> setupAction) { var builder = new SchedulingBuilder(fightBuilder.Services, fightBuilder); setupAction?.Invoke(builder); builder.Build(); return(fightBuilder); }
public static FightBuilder ConfigureStorage(this FightBuilder fightBuilder, Action <StorageBuilder> setupAction) { StorageBuilder builder = new StorageBuilder(fightBuilder.Services); setupAction?.Invoke(builder); builder.Build(); return(fightBuilder); }
public static FightBuilder ConfigureCacheing(this FightBuilder fightBuilder, Action <CachingBuilder> setupAction) { var builder = new CachingBuilder(fightBuilder.Services); setupAction?.Invoke(builder); builder.Build(); return(fightBuilder); }
public static FightBuilder AddUnitOfWork(this FightBuilder fightBuilder, Action <UnitOfWorkBuilder> buildAction) { UnitOfWorkBuilder builder = new UnitOfWorkBuilder(fightBuilder.Services); buildAction?.Invoke(builder); builder.Build(); return(fightBuilder); }
public static IServiceCollection AddFighting(this IServiceCollection services, Action <FightBuilder> setupAction) { FightBuilder builder = new FightBuilder(services); setupAction?.Invoke(builder); builder.Build(); return(services); }
public static FightBuilder ConfigureMessageServices(this FightBuilder fightBuilder, Action <MessageServiceBuilder> setupAction) { MessageServiceBuilder builder = new MessageServiceBuilder(fightBuilder.Services); setupAction?.Invoke(builder); builder.Build(); return(fightBuilder); }
public static FightBuilder ConfigureLotteryCalculating(this FightBuilder fightBuilder, Action <LotteryCalculatingBuilder> lotteryCaclulatingBuilder) { var builder = new LotteryCalculatingBuilder(fightBuilder.Services); lotteryCaclulatingBuilder?.Invoke(builder); builder.Build(); return(fightBuilder); }
public static FightBuilder ConfigureApplicationServices(this FightBuilder fightBuilder, Action <ApplicationServiceBuilder> setupAction) { ApplicationServiceBuilder builder = new ApplicationServiceBuilder(fightBuilder.Services); setupAction?.Invoke(builder); builder.Build(); return(fightBuilder); }
public static FightBuilder ConfigureLotteryDispatcher(this FightBuilder fightBuilder, Action <LotteryDispatcherBuilder> setupAction) { if (fightBuilder == null) { throw new ArgumentNullException(nameof(fightBuilder)); } if (setupAction == null) { throw new ArgumentNullException(nameof(setupAction)); } var builder = new LotteryDispatcherBuilder(fightBuilder.Services); setupAction?.Invoke(builder); builder.Build(); return(fightBuilder); }
internal SchedulingBuilder(IServiceCollection services, FightBuilder fightBuilder) { Services = services ?? throw new ArgumentNullException(nameof(services)); FightBuilder = fightBuilder ?? throw new ArgumentNullException(nameof(fightBuilder)); }
public static FightBuilder ConfigureTradeLogging(this FightBuilder fightBuilder) { fightBuilder.Services.AddSingleton <IHostedService, LotteryAwardingMessageSubscriber>(); fightBuilder.Services.AddSingleton <IHostedService, LotteryTicketingMessageSubscriber>(); return(fightBuilder); }