private IList <Asset> GetAssetList(ProgramOptions options) { var assetList = new List <Asset>(); if (options.Mode == Mode.All) { assetList = _assetService.GetAllAssets().Result.AssetList; } else if (options.Mode == Mode.Account) { _transfers = _assetService.GetAssetTransfers(AssetIdOrAccountId.ByAccountId(options.Id.ToString()), includeAssetInfo: false).Result.Transfers; _trades = _assetService.GetTrades(AssetIdOrAccountId.ByAccountId(options.Id.ToString()), includeAssetInfo: false).Result.Trades; var assetIds = _transfers.Select(transfer => transfer.AssetId).Union(_trades.Select(trade => trade.AssetId)).Distinct(); assetList = _assetService.GetAssets(assetIds).Result.AssetList; } else if (options.Mode == Mode.Asset) { assetList = new List <Asset> { _assetService.GetAsset(options.Id).Result }; } return(assetList); }
private static void GetAllAssets() { int replyCount; var index = 0; const int increase = 100; do { var allAssetsReply = AssetExchangeService.GetAllAssets(index, index + increase - 1, true).Result; Assets.AddRange(allAssetsReply.AssetList); replyCount = allAssetsReply.AssetList.Count; index += increase; } while (replyCount == increase); }