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 SchedulingBuilder UseMysqlStorage(this SchedulingBuilder schedulingBuilder, SchedulingConfiguration schedulingConfiguration) { schedulingBuilder.Services.TryAddTransient <IScheduleStore, ScheduleStorage>(); schedulingBuilder.FightBuilder.ConfigureStorage(setupAction => { setupAction.AddEntityFrameworkCore <ScheduleDbContext>(optionsBuilder => { optionsBuilder.UseMySql(schedulingConfiguration.DefaultConnection); }); }); return(schedulingBuilder); }
public static SchedulingBuilder AddLotteryOrderingScheduling(this SchedulingBuilder schedulingBuilder) { schedulingBuilder.Services.AddTransient <ILotteryAwardingScheduler, LotteryAwardingScheduler>(); schedulingBuilder.Services.AddTransient <ILotteryOrderingScheduler, LotteryOrderingScheduler>(); return(schedulingBuilder); }