public DomainModels.ServerRequest Map(ApiModels.ServerInfoRequest request, GameType gameType)
 {
     return(new DomainModels.ServerRequest
     {
         IpAddress = request.IpAddress,
         Port = request.Port,
         GameType = gameType
     });
 }
        public async Task <IActionResult> GetInfo([FromRoute, ModelBinder] ApiModels.ServerInfoRequest request)
        {
            var serverRequest = _serverInfoRequestMapper.Map(request, GameType.UnrealTournament99);
            var serverDetails = await _manager.GetInfo(serverRequest);

            if (serverDetails.Ping == 9999)
            {
                return(NotFound());
            }

            return(Ok(serverDetails));
        }
        public async Task <ActionResult> GetStatus([FromRoute, ModelBinder] ApiModels.ServerInfoRequest request)
        {
            var serverRequest = _serverInfoRequestMapper.Map(request, GameType.Quake3);
            var serverDetails = await _q3aManager.GetStatus(serverRequest);

            if (serverDetails.Status != ServerStatus.Offline)
            {
                return(Ok(serverDetails));
            }
            else
            {
                return(NotFound());
            }
        }