public async Task <IActionResult> Add([FromBody] ServerAddModel inputModel) { if (inputModel == null || !ModelState.IsValid) { return(BadRequest()); } var server = await _serverRepository.Add(inputModel); return(Ok(server)); }
public async Task <IActionResult> Add([FromBody] ServerAddModel inputModel) { if (inputModel == null || !ModelState.IsValid) { return(BadRequest(ModelState)); } try { var server = await _serverRepository.Add(inputModel); return(Ok(server)); } catch (BadInputException ex) { return(BadRequest(ex.Message)); } }
public async Task <Server> Add(ServerAddModel serverAddModel) { var serializedProperties = ServerPropertiesSerializer.Serialize(new ServerProperties()); var server = new Server { Description = serverAddModel.Description, Image = _context.Images.FirstOrDefault(i => i.ID == serverAddModel.ImageID), World = _context.Worlds.FirstOrDefault(w => w.ID == serverAddModel.WorldID), SerializedProperties = serializedProperties, MainPort = serverAddModel.ServerPort, MemoryAllocationMB = serverAddModel.MemoryAllocationMB, QueryPort = serverAddModel.ServerPort + 1000, RconPort = serverAddModel.ServerPort + 2000 }; if (server.Image == null) { throw new BadInputException("No such image"); } if (server.World == null) { throw new BadInputException("No such world"); } if (server.Image.SupportsMods && serverAddModel.ModIDs != null) { server.Mods = serverAddModel.ModIDs.Select(id => _context.Mods.FirstOrDefault(m => m.ID == id)).ToArray(); } await _context.Servers.AddAsync(server); await _context.SaveChangesAsync(); return(server); }