public IHttpActionResult GetCSGOMatch(Guid id) { TournamentCSGOMatch match = _dbContext.TournamentCSGOMatches.Find(id); if (match != null) { return(Ok(match)); } return(NotFound()); }
public async Task <IActionResult> GetCSGOMatch(Guid id) { TournamentCSGOMatch match = await _dbContext.TournamentCSGOMatches.FindAsync(id); if (match != null) { return(Ok(match)); } return(NotFound()); }
public async Task <IActionResult> SubmitCSGOMatch(Guid?id, TournamentCSGOMatch match) { if (await UserIsInRole("event-admin")) { foreach (CSGOMatchMap map in match.Maps) { CSGOMatchMap mapEntity = await _dbContext.CSGOMatchMaps.FindAsync(map.Id); if (mapEntity != null) { _dbContext.Entry(mapEntity).CurrentValues.SetValues(map); } else { _dbContext.CSGOMatchMaps.Add(map); } } TournamentCSGOMatch entity = await _dbContext.TournamentCSGOMatches.FindAsync(id); if (entity != null) { _dbContext.Entry(entity).CurrentValues.SetValues(match); match = entity; } else { _dbContext.TournamentCSGOMatches.Add(match); } try { await _dbContext.SaveChangesAsync(); } catch (DbUpdateException e) { System.Diagnostics.Trace.TraceError("Tournament CS:GO match update exception: " + e.Message); return(BadRequest("Something went wrong...")); } if (entity == null) { await _dbContext.Entry(match).Reference(m => m.Team1).LoadAsync(); await _dbContext.Entry(match).Reference(m => m.Team2).LoadAsync(); } return(Ok(match)); } return(Unauthorized()); }
public IHttpActionResult DeleteCSGOMatch(Guid?id) { if (UserIsInRole("event-admin")) { TournamentCSGOMatch entity = _dbContext.TournamentCSGOMatches.Find(id); _dbContext.TournamentCSGOMatches.Remove(entity); try { _dbContext.SaveChanges(); } catch (DbUpdateException e) { System.Diagnostics.Trace.TraceError("Tournament CS:GO match delete exception: " + e.Message); return(BadRequest("Something went wrong...")); } return(Ok(entity)); } return(Unauthorized()); }
public async Task <IHttpActionResult> SubmitCSGOMatch(Guid?id, TournamentCSGOMatch match) { if (UserIsInRole("event-admin")) { TournamentCSGOMatch entity = _dbContext.TournamentCSGOMatches.Find(id); if (entity != null) { _dbContext.Entry(entity).CurrentValues.SetValues(match); match = entity; } else { if (match.TournamentId == null) { match.TournamentId = _dbContext.Tournaments.Where(t => t.Active).First().ID; } _dbContext.TournamentCSGOMatches.Add(match); } try { _dbContext.SaveChanges(); } catch (DbUpdateException e) { System.Diagnostics.Trace.TraceError("Tournament CS:GO match update exception: " + e.Message); return(BadRequest("Something went wrong...")); } if (entity == null) { await _dbContext.Entry(match).Reference(m => m.Team1).LoadAsync().ConfigureAwait(false); await _dbContext.Entry(match).Reference(m => m.Team2).LoadAsync().ConfigureAwait(false); } return(Ok(match)); } return(Unauthorized()); }