public async Task <IActionResult> PutModuleItem(int id, ModuleItem moduleItem) { if (id != moduleItem.moduleID) { return(BadRequest()); } _context.Entry(moduleItem).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!ModuleItemExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public async Task <IActionResult> PutModule([FromRoute] int id, [FromBody] Module @module) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != @module.Code) { return(BadRequest()); } _context.Entry(@module).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!ModuleExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public static async Task <int> AddNewMatchAsync( int player1Id, int player2Id, bool isPlayer1PlayFirst, bool blockTwoEndsRule, int gameCount ) { using (ModuleContext DB = new ModuleContext()) { var player1 = await DB.Players.Where(x => x.Id == player1Id).SingleOrDefaultAsync(); var player2 = await DB.Players.Where(x => x.Id == player2Id).SingleOrDefaultAsync(); StoredMatch match = new StoredMatch() { Player1 = player1, Player2 = player2, IsPlayer1PlayFirst = isPlayer1PlayFirst, HasBlockTwoEndsRule = blockTwoEndsRule, GameCount = gameCount, DateTime = DateTime.Now }; DB.Matches.Add(match); await DB.SaveChangesAsync(); return(match.Id); } }
public static async Task SetWinnerAsync(int winnerId, int gameId) { using (ModuleContext DB = new ModuleContext()) { var game = await DB.Games.Where(x => x.Id == gameId).SingleOrDefaultAsync(); var winner = await DB.Players.Where(x => x.Id == winnerId).SingleOrDefaultAsync(); game.Winner = winner; await DB.SaveChangesAsync(); } }
public static async Task SwapPlayerAsync(int matchId) { using (ModuleContext DB = new ModuleContext()) { var match = await DB.Matches.Where(x => x.Id == matchId).SingleOrDefaultAsync(); if (match.GameCount < 1) { match.IsPlayer1PlayFirst = !match.IsPlayer1PlayFirst; await DB.SaveChangesAsync(); } } }
public static async Task <int> AddNewGameToMatchAsync(int matchId) { using (ModuleContext DB = new ModuleContext()) { var match = await DB.Matches.Where(x => x.Id == matchId).SingleOrDefaultAsync(); StoredGame game = new StoredGame(); match.Games.Add(game); game.Order = match.Games.Count; await DB.SaveChangesAsync(); return(game.Id); } }
public static async Task AddMoveAsync(int gameId, string chessman, int coordinateX, int coordinateY) { using (ModuleContext DB = new ModuleContext()) { var game = await DB.Games.Where(x => x.Id == gameId).SingleOrDefaultAsync(); Move move = new Move() { Chessman = chessman, CoordinateX = coordinateX, CoordinateY = coordinateY }; game.Moves.Add(move); move.Order = await DB.Games.Where(x => x.Id == gameId).Select(y => y.Moves.Count).FirstOrDefaultAsync(); await DB.SaveChangesAsync(); } }
public static async Task <bool> AddPlayerAsync(string username, string password) { using (ModuleContext DB = new ModuleContext()) { if (DB.Players.Where(x => x.Username == username).Count() > 0) { return(false); } StoredPlayer player = new StoredPlayer() { Username = username, Password = password }; DB.Players.Add(player); await DB.SaveChangesAsync(); return(true); } }