コード例 #1
0
        static void Main(string[] args)
        {
            Config.Load(args);

            var id_provider   = new IdProvider();
            var date_provider = new DateProvider();

            var person_repo     = new PersonRepository(Config.DbPath);
            var tournament_repo = new TournamentRepository(Config.DbPath);

            var director = new TournamentDirector(id_provider);

            var personStockQueryHandler        = new PersonStockQueryHandler(person_repo);
            var newPersonQueryHandler          = new NewPersonQueryHandler(id_provider);
            var storePersonCommandHandler      = new StorePersonCommandHandler(person_repo);
            var createTournamentCommandHandler = new CreateTournamentCommandHandler(tournament_repo, person_repo,
                                                                                    id_provider, date_provider, director);
            var tournamentQueryHandler = new TournamentQueryHandler(tournament_repo);

            var tournamentsInfoQueryHandler = new TournamentStockQueryHandler(tournament_repo);

            var server = new Server(personStockQueryHandler, newPersonQueryHandler,
                                    storePersonCommandHandler, createTournamentCommandHandler,
                                    tournamentQueryHandler, tournamentsInfoQueryHandler);

            server.Run(Config.Address);
        }
コード例 #2
0
 public CreateTournamentCommandHandler(ITournamentRepository tournament_repo,
                                       IPersonRepository person_repo,
                                       IIdProvider id_provider, IDateProvider date_Provider,
                                       TournamentDirector director)
 {
     _tournament_repo = tournament_repo;
     _person_repo     = person_repo;
     _id_provider     = id_provider;
     _date_Provider   = date_Provider;
     _director        = director;
 }
コード例 #3
0
        public IActionResult SelectSchool([Bind("SchoolId")] TournamentDirector tournamentDirector, int id)
        {
            var selectedSchool  = _context.School.FirstOrDefault(s => s.SchoolId == id);
            var currentUserId   = this.User.FindFirstValue(ClaimTypes.NameIdentifier).ToString();
            var currentDirector = _context.TournamentDirector.FirstOrDefault(t => t.ApplicationUserId == currentUserId);

            tournamentDirector          = currentDirector;
            tournamentDirector.SchoolId = selectedSchool.SchoolId;
            _context.Attach(tournamentDirector);
            _context.SaveChanges();
            return(RedirectToAction("Index", "TournamentDirectors"));
        }
コード例 #4
0
        public async Task <IActionResult> Create([Bind("TournamentDirectorId,FirstName,LastName,Email,Message,ApplicationUserId")] TournamentDirector tournamentDirector, string Id)
        {
            if (ModelState.IsValid)
            {
                tournamentDirector.ApplicationUserId = Id;
                _context.Add(tournamentDirector);
                await _context.SaveChangesAsync();

                return(RedirectToAction("RegistrationConfirmation", "Home"));
            }
            return(View(tournamentDirector));
        }
コード例 #5
0
        public Output Process(IMessage input, IMessageContext model)
        {
            var ctx_model = model as TournamentRankingQueryContextModel;

            var tournament_director = new TournamentDirector();
            var ranking_rows        = tournament_director.Calculate_ranking(Map(ctx_model));

            var orderd_ranking_rows = ranking_rows.OrderByDescending(row => row.Q1)
                                      .ThenByDescending(row => row.Q2).ToList();

            var rank   = 1;
            var result = orderd_ranking_rows.Select(row => Map(row, rank++)).ToList();

            return(new QueryOutput(new TournamentRankingQueryResult {
                Ranking = result.ToArray()
            }));
        }
コード例 #6
0
        public Output Process(IMessage input, IMessageContext model)
        {
            var cmd = input as CreateRoundCommand;
            var ctx_model = model as CreateRoundCommandContextModel;

            var tournament_director = new TournamentDirector();
            var round = tournament_director.New_round(Map(ctx_model));

            var round_id = _id_provider.Get_new_id().ToString();

            var events = new List<Event>();
            events.Add(Map(round, round_id, cmd.TournamentId, ctx_model.Round_count));
            events.AddRange(Map(round.Matches, ctx_model, round_id, cmd.TournamentId));
            events.AddRange(Map(round.Walkover, cmd.TournamentId));
            events.AddRange(Map(round.Matches, cmd.TournamentId));

            return new CommandOutput(new Success(), events.ToArray());
        }
コード例 #7
0
        // GET: TournamentDirectors/Create
        public IActionResult Create()
        {
            TournamentDirector TournamentDirector = new TournamentDirector();

            return(View(TournamentDirector));
        }
コード例 #8
0
 public async Task <IActionResult> Edit([Bind("TournamentDirectorId,FirstName,LastName,Email,Message,TournamentId,ApplicationUserId,SchoolId")] TournamentDirector tournamentDirector)
 {
     _context.Update(tournamentDirector);
     _context.SaveChanges();
     return(RedirectToAction("GetListOfSchools", "Schools"));
 }