public async Task <ActionResult> Search([FromQuery] string id)
        {
            id = (id ?? "").Trim();
            var type = await _searchService.GetTypeAsync(id);

            switch (type)
            {
            case SearchResultType.Block:
            {
                return(RedirectToAction("Index", "Block", new { id = id }));
            }

            case SearchResultType.Transaction:
            {
                return(RedirectToAction("Index", "Transaction", new { id = id }));
            }

            case SearchResultType.Address:
            {
                return(RedirectToAction("Index", "Address", new { id = id }));
            }

            case SearchResultType.Asset:
            {
                var asset = await _assetService.GetAssetAsync(id);

                return(RedirectToAction("Index", "Asset", new { id = asset.AssetIds.First() }));
            }

            case SearchResultType.OffchainTransaction:
            {
                return(RedirectToAction("Index", "OffchainTransaction", new { id = id }));
            }

            default:
            {
                var lastBlock = await _blockService.GetLastBlockHeaderAsync();

                return(View("NotFound", BlockHeaderViewModel.Create(lastBlock)));
            }
            }
        }
Example #2
0
        public async Task <IActionResult> Index()
        {
            var lastBlock = await _blockService.GetLastBlockHeaderAsync();

            return(View(BlockHeaderViewModel.Create(lastBlock)));
        }