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)); }