// This method fetches the latest data about a player on the database public async Task <LatestPlayerResponse> GetLatestPlayers(List <string> PlayerIds) { var rushingResources = new List <RushingResource>(); var receivingResources = new List <ReceivingResource>(); try{ foreach (var PlayerId in PlayerIds) { if (string.IsNullOrEmpty(PlayerId)) { continue; } var playerdetails = await _playerRepository.GetPlayerByIdAsync(PlayerId); if (playerdetails == null) { continue; } else { // Fetch latest player rushing. var rushing = await _rushingService.GetLatestRushingByPlayerIdAsync(PlayerId); if (rushing != null) { RushingResource rushingresource = _mapper.Map <Rushing, RushingResource>(rushing);// new RushingResource(); rushingresource.Name = playerdetails.Name; //rushingresource.PlayerId = PlayerId; rushingresource.Position = playerdetails.Position; // rushingresource.Att = rushing.Att; // rushingresource.EntryId = rushing.EntryId; // rushingresource.Fum = rushing.Fum; // rushingresource.Tds = rushing.Tds; // rushingresource.Yds = rushing.Yds; rushingResources.Add(rushingresource); } //Fetch all player receivings. var receiving = await _receivingService.GetLatestReceivingByPlayerIdAsync(PlayerId); if (receiving != null) { ReceivingResource receivingResource = _mapper.Map <Receiving, ReceivingResource>(receiving);//new ReceivingResource(); // receivingResource.EntryId = receiving.EntryId; receivingResource.Name = playerdetails.Name; // receivingResource.PlayerId = PlayerId; receivingResource.Position = playerdetails.Position; // receivingResource.Rec = receiving.Rec; // receivingResource.Tds = receiving.Tds; // receivingResource.Yds = receiving.Yds; receivingResources.Add(receivingResource); } } } } catch (Exception ex) { } if (receivingResources.Count > 0 || rushingResources.Count > 0) { return(new LatestPlayerResponse(receivingResources, rushingResources)); } else { return(new LatestPlayerResponse("Could not fetch latest players")); } }