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); }
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); }
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"); }