Пример #1
0
        public FoosballGameDataModel BookGame(BookGameRequestModel model)
        {
            var tableId =
                model.TableId ?? GetAvailableTableId();
            var builder
                = new FoosballGameBuilder(_context, tableId)
                  .SetStartDate(DateTimeOffset.UtcNow);

            if (model.TeamSetup is TeamSetup setup && setup.TeamAPlayers.Length > 0 &&
                setup.TeamBPlayers.Length > 0)
            {
                builder.SetTeams(setup.TeamAPlayers, setup.TeamBPlayers);
            }
            var game = builder.Build();

            _context.FoosballGames.Add(game);
            _context.SaveChanges();
            return(new FoosballGameDataModel
            {
                Id = game.Id,
                TableId = tableId,
                StartDate = game.StartDate,
                TeamAPlayerIds = game.FoosballPlayerSetup?.TeamA?.FoosballTeamPlayers?.Select(x => x.FoosballPlayerId)
                                 .ToList(),
                TeamBPlayerIds = game.FoosballPlayerSetup?.TeamB?.FoosballTeamPlayers?.Select(x => x.FoosballPlayerId)
                                 .ToList()
            });
        }
 public FoosballGameDataModel BookGame([FromBody] BookGameRequestModel model)
 {
     return(_foosballService.BookGame(model));
 }