Exemple #1
0
        public async Task <IActionResult> GetAvailableAssets()
        {
            var assetsIds = await _assetsService.ClientGetAssetIdsAsync(_requestContext.ClientId, true);

            if (assetsIds == null)
            {
                return(NotFound());
            }

            return(Ok(AssetIdsResponse.Create(assetsIds)));
        }
        public async Task <IEnumerable <Asset> > GetAssetsAvailableToClientAsync(
            string clientId,
            string partnerId,
            bool?tradable = default(bool?))
        {
            var allAssets = await GetAllAssetsAsync();

            var relevantAssets = allAssets.Where(x => !x.IsDisabled && (!tradable.HasValue || x.IsTradable == tradable));

            var assetsAvailableToUser = new HashSet <string>(await _assetsService.ClientGetAssetIdsAsync(clientId, true));

            return(relevantAssets.Where(x =>
                                        assetsAvailableToUser.Contains(x.Id) &&
                                        (x.NotLykkeAsset
                        ? partnerId != null && x.PartnerIds.Contains(partnerId)
                        : partnerId == null || x.PartnerIds.Contains(partnerId))));
        }
        public async Task <Asset[]> GetAssetsForClient(string clientId, bool isIosDevice, string partnerId = null)
        {
            var result = await _cachedAssetsDictionary.Values();

            result = result.Where(x => !x.IsDisabled);

            if (partnerId != null)
            {
                return(result.Where(x => x.PartnerIds != null && x.PartnerIds.Contains(partnerId)).ToArray());
            }

            var assetIdsForClient = await _assetsService.ClientGetAssetIdsAsync(clientId, isIosDevice);

            if (assetIdsForClient.Any())
            {
                result = result.Where(x => assetIdsForClient.Contains(x.Id));
            }

            return(result.Where(x => !x.NotLykkeAsset).ToArray());
        }