public IActionResult List(int page = 1, int pageSize = 10) { if (page * pageSize <= StateService.CachedAddressesCount) { var data = this.state.GetAddressesPage(page, pageSize); this.UpdateNeoAndGasBalances(data); var result = data.ToListResult(); var extended = PagedListMetadataExtended.FromParent(result.MetaData); var pages = extended.TotalItemCount % pageSize == 0 ? extended.TotalItemCount / pageSize : extended.TotalItemCount / pageSize + 1; extended.TotalItemCount = (int)this.state.MainStats.TotalStats.AddressCount; extended.PageCount = pages; result.MetaData = extended; return(this.Ok(result)); } else { var result = this.addresses.GetPage(page, pageSize); this.UpdateNeoAndGasBalances(result); return(this.Ok(result.ToListResult())); } }
public async Task <IActionResult> List( int page = 1, int pageSize = 10, string blockHash = null, string address = null, string asset = null, string type = null) { if (!string.IsNullOrEmpty(address)) { var res = this.transactions.TransactionsForAddress(address, page, pageSize); return(this.Ok(res.ToListResult())); } if (!string.IsNullOrEmpty(asset)) { var sw = System.Diagnostics.Stopwatch.StartNew(); var res = this.transactions.TransactionsForAsset(asset, page, pageSize); sw.Stop(); Log.Information($"{this.GetType().FullName} from List - ${sw.ElapsedMilliseconds}"); return(this.Ok(res.ToListResult())); } if (!string.IsNullOrEmpty(blockHash)) { var result = this.transactions.GetPageTransactions <TransactionListViewModel>(page, pageSize, blockHash); return(this.Ok(result.ToListResult())); } if (page * pageSize <= StateService.CachedTransactionsCount) { var data = this.state.GetTransactionsPage(page, pageSize, type); var result = data.ToListResult(); if (string.IsNullOrEmpty(type)) { var extended = PagedListMetadataExtended.FromParent(result.MetaData); var pages = extended.TotalItemCount % pageSize == 0 ? extended.TotalItemCount / pageSize : extended.TotalItemCount / pageSize + 1; extended.TotalItemCount = (int)this.state.MainStats.TotalStats.TransactionsCount; extended.PageCount = pages; result.MetaData = extended; } return(this.Ok(result)); } else { var result = this.transactions.GetPageTransactions <TransactionListViewModel>(page, pageSize, type: type); return(this.Ok(result.ToListResult())); } }