public AddressViewModel GetAddress(string addressText, int currentPage, int pageSize = AppSettings.PageSize) { var addressQueries = new AccountQueries(_context); var tokenQueries = new TokenQueries(_context); var account = addressQueries.QueryAccount(addressText); if (account != null) { SoulRate = CoinUtils.GetCoinRate(CoinUtils.SoulId); var addressVm = AddressViewModel.FromAddress(account, tokenQueries.QueryTokens().ToList()); addressVm.Transactions = GetAddressTransactions(addressVm.Address, currentPage, pageSize); foreach (var addressVmNativeBalance in addressVm.NativeBalances) { addressVmNativeBalance.TxnCount = GetTransactionCount(addressVm.Address); } SoulRate = CoinUtils.GetCoinRate(CoinUtils.SoulId); CalculateAddressSoulValue(new List <AddressViewModel> { addressVm }); return(addressVm); } if (Address.IsValidAddress(addressText)) { return(new AddressViewModel { Address = addressText, Balance = 0, Name = "anonymous", Value = 0 }); } return(null); }
private void CalculateAddressSoulValue(List <AddressViewModel> list) { SoulRate = CoinUtils.GetCoinRate(CoinUtils.SoulId); foreach (var address in list) { var soulBalances = address.NativeBalances.Where(b => b.Token.Symbol == AppSettings.NativeSymbol); foreach (var balanceViewModel in soulBalances) { balanceViewModel.Value = balanceViewModel.Balance * SoulRate; address.Value = balanceViewModel.Value; } } }
public TokenViewModel GetToken(string symbol) { var tokenQuery = new TokenQueries(_context); var token = tokenQuery.QueryToken(symbol); if (token != null) { SoulRate = token.Symbol == "SOUL" ? CoinUtils.GetCoinRate(CoinUtils.SoulId) : 0; return(TokenViewModel.FromToken(token, AppSettings.MockLogoUrl, SoulRate)); } return(null); }
public List <TokenViewModel> GetTokens() { var tokenQuery = new TokenQueries(_context); var tokenList = tokenQuery.QueryTokens(); var tokensList = new List <TokenViewModel>(); SoulRate = CoinUtils.GetCoinRate(CoinUtils.SoulId); foreach (var token in tokenList) { SoulRate = token.Symbol == "SOUL" ? CoinUtils.GetCoinRate(CoinUtils.SoulId) : 0; tokensList.Add(TokenViewModel.FromToken(token, AppSettings.MockLogoUrl, SoulRate)); } return(tokensList); }