Exemplo n.º 1
0
        public async Task <AssetPairs> GetPairsAsync(Network network, bool onlyDirect = true)
        {
            var q    = onlyDirect ? network?.Providers.OfType <IAssetPairsProvider>().Where(x => x.IsDirect) : network?.Providers.OfType <IAssetPairsProvider>();
            var prov = q.FirstProvider();

            if (prov == null)
            {
                Logging.I.DefaultLogger.Error($"An instance of {nameof(IAssetPairsProvider)} cannot be located for {network.Name}");
                return(null);
            }

            var r = await ApiCoordinator.GetAssetPairsAsync(prov).ConfigureAwait(false);

            return(r.IsNull ? null : r.Response);
        }
Exemplo n.º 2
0
        public async void RefreshAsync()
        {
            var prov = Network.Providers.FirstProviderOf <IAssetPairsProvider>();

            if (prov == null)
            {
                throw new Exception($"Cannot 'refresh' {nameof(AssetPairData)} for {Network.Name} as a {nameof(IAssetPairsProvider)} cannot be located.");
            }

            var pairs = await ApiCoordinator.GetAssetPairsAsync(prov).ConfigureAwait(false);

            if (pairs.IsFailed)
            {
                return;
            }

            Pairs = pairs.Response;
        }