Ejemplo n.º 1
0
        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;
 }
Ejemplo n.º 6
0
 public TournamentCommandHandlers(ICommandQueries commandQueries)
 {
     CommandQueries = commandQueries;
 }