public List <WalletTransactionViewModel> GetWalletTransactions(long id) { var character = new ESI.Models.Character.Detail(id); var endpoint = _esiRepository.GetByName("Applicant"); var accessToken = ESI.SingleSignOn.GetTokensFromRefreshToken(endpoint.ClientId, endpoint.SecretKey, _recruitRepository.GetRefreshTokenForApplicant(id)); var results = _mapper.Map <List <WalletTransactionViewModel> >(character.GetWalletTransactions(accessToken.AccessToken)); var clientIdList = new IdList() { Ids = results.Select(s => s.ClientId).Distinct().ToList() }; var itemIdList = new IdList() { Ids = results.Select(s => (long)s.ItemTypeId).Distinct().ToList() }; var clientInfo = clientIdList.GetEntityNames(); var itemInfo = new List <ItemType>(); itemIdList.Ids.ForEach(f => itemInfo.Add(new ItemType(f))); results.ForEach(f => { f.ClientName = clientInfo.First(w => w.Id == f.ClientId).Name; f.ItemTypeName = itemInfo.First(w => w.Id == f.ItemTypeId).Name; }); return(results); }