async Task <bool> StartServerAsync() { try { var cardanoServerConsoleProcess = _cardanoServer.Start(_nodePort); var allWallets = await _walletClient.GetAllWalletsAsync(); AllWallets = new ObservableCollection <Wallet>(allWallets); var allPools = await _walletClient.GetAllPoolsAsync(); BlockChainCache = new BlockChainCache(); BlockChainCache.StakePools = new ObservableCollection <StakePool>(allPools); BlockChainCache.CacheDate = DateTime.Now; string jsonString = JsonConvert.SerializeObject(BlockChainCache); byte[] jsonUtf8Bytes; var options = new JsonSerializerOptions { WriteIndented = true }; jsonUtf8Bytes = JsonSerializer.SerializeToUtf8Bytes(BlockChainCache, options); await File.WriteAllBytesAsync(StakePoolListDatabase, jsonUtf8Bytes); //var allPoolsGrouped = allPools.GroupBy(g=>g.LifeTimeBlocks == 0).ToDictionary(x => x.Key, x => x.ToList()); var allStakePoolsGroups = new DataGridCollectionView(allPools); //allStakePoolsGroups.GroupDescriptions.Add(new DataGridPathGroupDescription("LifeTimeBlocks")); //allStakePoolsGroups.Filter = FilterProperty; AllStakePools = new ObservableCollection <StakePool>(allPools); if (BlockChainCache.StakePools.Any()) { BlockChainCache.StakePools.Clear(); } OnPropertyChanged("BlockChainCache"); return(true); } catch (Exception e) { Log.Logger.Fatal(e.Message); return(false); } }