예제 #1
0
        public IActionResult Info(string endpoint)
        {
            var query = db.Servers
                        .Where(x => x.endpoint == endpoint)
                        .Include(x => x.gameModes)
                        .FirstOrDefault();

            if (query == null)
            {
                return(NotFound());
            }

            var info = new ServerInfoDTO
            {
                name      = query.name,
                gameModes = query.gameModes.Select(x => x.value).ToArray()
            };

            return(Ok(info));
        }
예제 #2
0
        public IActionResult Info(string endpoint, [FromBody] ServerInfoDTO server)
        {
            if (server == null || !ModelState.IsValid)
            {
                return(BadRequest());
            }

            var query = db.Servers
                        .Where(x => x.endpoint == endpoint)
                        .Include(x => x.gameModes)
                        .FirstOrDefault();

            var model = new ServerModel
            {
                endpoint  = endpoint,
                name      = server.name,
                gameModes = (server.gameModes
                             .Select(
                                 x => new GameModeModel
                {
                    value = x
                }).ToList())
            };

            if (query == null)
            {
                db.Servers.Add(model);
            }
            else
            {
                query.name      = model.name;
                query.gameModes = model.gameModes;
            }

            db.SaveChanges();
            return(Ok());
        }