public static void Setup() { Dispatcher = new MessageDispatcher(new SqlEventStore(ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString)); CommandQueries = ReadModelFactory <CommandQueries>(); Dispatcher.ScanInstance(new ParticipantCommandHandlers(CommandQueries)); Dispatcher.ScanInstance(new ContingentCommandHandlers(CommandQueries)); Dispatcher.ScanInstance(new ScoresCommandHandlers(CommandQueries, Dispatcher)); //TODO: Refactor Dispatcher out of Handler Dispatcher.ScanInstance(new TournamentCommandHandlers(CommandQueries)); StatisticsQueries = ReadModelFactory <StatisticsQueries>(); ParticipantQueries = ReadModelFactory <ParticipantQueries>(); ParticipantProfileQueries = ReadModelFactory <ParticipantProfileQueries>(); ContingentViewQueries = ReadModelFactory <ContingentViewQueries>(); ContingentTravelPlanQueries = ReadModelFactory <ContingentTravelPlanQueries>(); ContingentPracticePlanQueries = ReadModelFactory <ContingentPracticePlanQueries>(); ReservationQueries = ReadModelFactory <ReservationQueries>(); ScheduleQueries = ReadModelFactory <ScheduleQueries>(); MatchQueries = ReadModelFactory <MatchQueries>(); StandingQueries = ReadModelFactory <StandingQueries>(); HighScoreQueries = ReadModelFactory <HighScoreQueries>(); ParticipantScoreQueries = ReadModelFactory <ParticipantScoreQueries>(); TeamScoreQueries = ReadModelFactory <TeamScoreQueries>(); TournamentQueries = ReadModelFactory <TournamentQueries>(); StepladderQueries = ReadModelFactory <StepladderQueries>(); }
public static void Execute(ICommandQueries commandQueries, IContingentViewQueries contingentViewQueries, MessageDispatcher dispatcher) { var commands = new List <ReorderParticipant>(); var provinces = new List <string> { "BC", "AB", "SK", "MB", "NO", "SO", "QC", "NL" }; foreach (var tournament in commandQueries.GetTournaments()) { foreach (var province in provinces) { var contingent = contingentViewQueries.GetContingent(tournament.Id, province); if (contingent == null) { continue; } foreach (var team in contingent.Teams) { var i = 0; foreach (var bowler in team.Bowlers) { if (++i == bowler.QualifyingPosition) { continue; } commands.Add( new ReorderParticipant { Id = bowler.Id, TeamId = team.Id, Name = bowler.Name, QualifyingPosition = i }); } } } } commands.ForEach(dispatcher.SendCommand); }
public ScoresCommandHandlers(ICommandQueries commandQueries, MessageDispatcher dispatcher) { CommandQueries = commandQueries; _dispatcher = dispatcher; }
public ParticipantCommandHandlers(ICommandQueries commandQueries) { CommandQueries = commandQueries; }
public ContingentCommandHandlers(ICommandQueries commandQueries) { CommandQueries = commandQueries; }
public TournamentCommandHandlers(ICommandQueries commandQueries) { CommandQueries = commandQueries; }