public async Task <PlayerDetailsResponse> GetPlayer(string PlayerId) { PlayerResource resource = new PlayerResource(); try{ if (string.IsNullOrEmpty(PlayerId)) { return(new PlayerDetailsResponse("Kindly specify player id")); } var playerdetails = await _playerRepository.GetPlayerByIdAsync(PlayerId); if (playerdetails == null) { return(new PlayerDetailsResponse("Kindly specify valid player id")); } else { resource.Name = playerdetails.Name; resource.PlayerId = PlayerId; resource.Position = playerdetails.Position; // Fetch all players kickings and map object returned to Resource. var kickings = await _kickingService.GetKickingsByPlayerIdAsync(PlayerId); if (kickings != null) { var kickingresource = _mapper.Map <IEnumerable <Kicking>, IEnumerable <KickingResource> >(kickings); resource.kicking = kickingresource; } // Fetch all players rushing. var rushings = await _rushingService.GetRushingsByPlayerIdAsync(PlayerId); if (rushings != null) { var rushingresource = _mapper.Map <IEnumerable <Rushing>, IEnumerable <RushingResource> >(rushings); resource.rushing = rushingresource; } //Fetch all player passing. var passings = await _passingService.GetPassingsByPlayerIdAsync(PlayerId); if (passings != null) { var passingresource = _mapper.Map <IEnumerable <Passing>, IEnumerable <PassingResource> >(passings); resource.passing = passingresource; } //Fetch all player receivings. var receivings = await _receivingService.GetReceivingsByPlayerIdAsync(PlayerId); if (receivings != null) { var receivingresource = _mapper.Map <IEnumerable <Receiving>, IEnumerable <ReceivingResource> >(receivings); resource.receiving = receivingresource; } _logger.LogInformation("Player {@resource} retrieved", resource); } } catch (Exception ex) { } return(new PlayerDetailsResponse(resource)); }