public static Game ToGame(this GameManagementModel m) { return(m == null ? null : new Game { Name = m.Name, Note = m.Note, GameLevel = m.GameLevel, Size = m.ArenaSize ?? 800, PlayerSize = (byte)(m.PlayerSize ?? 800), GameUid = Guid.NewGuid().ToString() }); }
public async Task <GameManagementViewModel> AddGame([FromBody] GameManagementModel model) { var user = User.Identity.Name; var entity = await _service.CreateGameAsync(model, user); GameManagementViewModel viewModel = entity.ToViewModel(); games.Add(viewModel); await _hubContext.Clients.All.GameAdded(viewModel); return(viewModel); }
public async Task <Game> CreateGameAsync(GameManagementModel model, string user) { var entity = model.ToGame(); if (entity == null) { throw new ArgumentNullException(); } entity.GamePlayer.Add(new GamePlayer { Name = user, }); _context.Game.Add(entity); await _context.SaveChangesAsync(); return(entity); }
public async Task <IActionResult> JoinGame(Guid gameUid, [FromBody] GameManagementModel model) { try { var game = await _service.JoinAsync(gameUid, User.Identity.Name); GameManagementViewModel viewModel = game.ToViewModel(); await _hubContext.Clients.All.GameJoined(viewModel); return(Ok(viewModel)); } catch (ArgumentNullException ex) { return(NotFound(ex.Message)); } catch (GameFullException ex) { return(BadRequest(ex.Message)); } }