Esempio n. 1
0
        public async Task <List <FavouriteAddressDto> > GetFavouriteAddressesAsync(string userId)
        {
            var faveAdds = await _nexplorerDb
                           .FavouriteAddresses
                           .Include(x => x.User)
                           .Where(x => x.User.Id == userId)
                           .Select(x => _mapper.Map <FavouriteAddressDto>(x))
                           .ToListAsync();

            foreach (var faveAdd in faveAdds)
            {
                faveAdd.AddressDto = await _addressQuery.GetAddressLiteAsync(faveAdd.AddressId, null);
            }

            return(faveAdds);
        }
Esempio n. 2
0
        private async Task <List <AddressLiteDto> > AddOrUpdateTrustKeyAddressCache(IEnumerable <TrustKeyDto> keyCache, ICollection <AddressLiteDto> keyAddressCache)
        {
            var latestAddresses = new List <AddressLiteDto>();

            foreach (var keyVal in keyCache)
            {
                var keyAdd = keyAddressCache.FirstOrDefault(x => x.Hash == keyVal.AddressHash)
                             ?? await _addressQuery.GetAddressLiteAsync(keyVal.AddressHash);

                keyAdd.InterestRate = keyVal.InterestRate;

                latestAddresses.Add(keyAdd);
            }

            return(latestAddresses);
        }
Esempio n. 3
0
        protected override async Task ExecuteAsync()
        {
            var nexusAddresses = new List <AddressLiteDto>();

            var hashes = AddressQuery.NexusAddresses.Values.SelectMany(x => x);

            foreach (var nexusAmbassadorAddress in hashes)
            {
                var address = await _addressQuery.GetAddressLiteAsync(nexusAmbassadorAddress);

                address.IsNexus = true;

                nexusAddresses.Add(address);
            }

            await _redisCommand.SetAsync(Settings.Redis.NexusAddressCache, nexusAddresses);

            Logger.LogInformation($"{nexusAddresses.Count} Nexus addresses updated");
        }