コード例 #1
0
        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);
        }