コード例 #1
0
        public IHttpActionResult GetCSGOMatch(Guid id)
        {
            TournamentCSGOMatch match = _dbContext.TournamentCSGOMatches.Find(id);

            if (match != null)
            {
                return(Ok(match));
            }
            return(NotFound());
        }
コード例 #2
0
        public async Task <IActionResult> GetCSGOMatch(Guid id)
        {
            TournamentCSGOMatch match = await _dbContext.TournamentCSGOMatches.FindAsync(id);

            if (match != null)
            {
                return(Ok(match));
            }
            return(NotFound());
        }
コード例 #3
0
        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());
        }
コード例 #4
0
        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());
        }
コード例 #5
0
        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());
        }