示例#1
0
        public Boolean checkConnectionStatus()
        {
            if (rateServiceClient.State != CommunicationState.Opened)
            {
                try
                {
                    Console.WriteLine("Re-Connecting to Rate Service");
                    rateServiceClient = new RateServiceClient(new InstanceContext(rateServiceCallBack));
                }
                catch (Exception ex)
                {
                    Console.WriteLine("Exception re-connecting to the rate service {0}", ex.Message);
                    throw new Exception("Unable to connect to rate service", ex);
                }
            }

            return(true);
        }
示例#2
0
        static void AddCurrency()
        {
            var currency = new Currency();

            #region CONSOLE
            Console.WriteLine();
            Console.ForegroundColor = ConsoleColor.Blue;
            Console.Write("new ");
            Console.ForegroundColor = ConsoleColor.DarkGreen;
            Console.Write("Currency");
            Console.WriteLine();
            Console.ForegroundColor = ConsoleColor.White;
            Console.Write("\tName");
            Console.ForegroundColor = ConsoleColor.Blue;
            Console.Write(" string");
            Console.ForegroundColor = ConsoleColor.White;
            Console.Write(" maxLength(3) = ");
            currency.Name           = Console.ReadLine();
            Console.ForegroundColor = ConsoleColor.White;
            Console.Write("\tSelling price");
            Console.ForegroundColor = ConsoleColor.Blue;
            Console.Write(" decimal = ");
            Console.ForegroundColor = ConsoleColor.White;
            currency.SellingPrice   = decimal.Parse(Console.ReadLine());
            Console.ForegroundColor = ConsoleColor.White;
            Console.Write("\tPurchase price");
            Console.ForegroundColor = ConsoleColor.Blue;
            Console.Write(" decimal = ");
            Console.ForegroundColor = ConsoleColor.White;
            currency.PurchasePrice  = decimal.Parse(Console.ReadLine());
            #endregion

            using (var client = new RateServiceClient())
            {
                Task.Run(async() =>
                {
                    await client.AddCurrencyAsync(currency);
                }).GetAwaiter().GetResult();
            }
        }
示例#3
0
        static void GetCurrencies()
        {
            var currencies = new List <Currency>();

            var paging = new Paging();

            #region paging set
            Console.WriteLine();
            Console.ForegroundColor = ConsoleColor.Blue;
            Console.Write("new ");
            Console.ForegroundColor = ConsoleColor.DarkGreen;
            Console.Write("Paging");
            Console.WriteLine();
            Console.ForegroundColor = ConsoleColor.White;
            Console.Write("\tTake");
            Console.ForegroundColor = ConsoleColor.Blue;
            Console.Write(" int");
            Console.ForegroundColor = ConsoleColor.White;
            Console.Write(" = ");
            try
            {
                paging.Take = int.Parse(Console.ReadLine());
            }
            catch { }
            Console.ForegroundColor = ConsoleColor.White;
            Console.Write("\tSkip");
            Console.ForegroundColor = ConsoleColor.Blue;
            Console.Write(" int");
            Console.ForegroundColor = ConsoleColor.White;
            Console.Write(" = ");
            try
            {
                paging.Skip = int.Parse(Console.ReadLine());
            }
            catch { }
            #endregion

            var filter = new CurrencyFilter();

            #region filter set
            Console.WriteLine();
            Console.ForegroundColor = ConsoleColor.Blue;
            Console.Write("new ");
            Console.ForegroundColor = ConsoleColor.DarkGreen;
            Console.Write("CurrencyFilter");
            Console.WriteLine();
            Console.ForegroundColor = ConsoleColor.White;
            Console.Write("\tName");
            Console.ForegroundColor = ConsoleColor.Blue;
            Console.Write(" string(nullable)");
            Console.ForegroundColor = ConsoleColor.White;
            Console.Write(" = ");
            try
            {
                var name = Console.ReadLine();
                if (!string.IsNullOrEmpty(name))
                {
                    filter.Name = name;
                }
            }
            catch { }

            Console.ForegroundColor = ConsoleColor.White;
            Console.Write("\tOrderBy");
            Console.ForegroundColor = ConsoleColor.Blue;
            Console.Write(" string(nullable)");
            Console.ForegroundColor = ConsoleColor.White;
            Console.Write(" = ");
            try
            {
                var orderBy = Console.ReadLine();
                if (!string.IsNullOrEmpty(orderBy))
                {
                    filter.OrderBy = orderBy;
                }
            }
            catch { }

            Console.ForegroundColor = ConsoleColor.White;
            Console.Write("\tStartDate");
            Console.ForegroundColor = ConsoleColor.Blue;
            Console.Write(" DateTime(nullable)");
            Console.ForegroundColor = ConsoleColor.DarkRed;
            Console.Write(" format:yyyy-MM-dd");
            Console.ForegroundColor = ConsoleColor.White;
            Console.Write(" = ");
            try
            {
                filter.StartDate = DateTime.Parse(Console.ReadLine());
            }
            catch { }

            Console.ForegroundColor = ConsoleColor.White;
            Console.Write("\tEndDate");
            Console.ForegroundColor = ConsoleColor.Blue;
            Console.Write(" DateTime(nullable)");
            Console.ForegroundColor = ConsoleColor.DarkRed;
            Console.Write(" format:yyyy-MM-dd");
            Console.ForegroundColor = ConsoleColor.White;
            Console.Write(" = ");
            try
            {
                filter.EndDate = DateTime.Parse(Console.ReadLine());
            }
            catch { }
            #endregion


            using (var client = new RateServiceClient())
            {
                Task.Run(async() =>
                {
                    var result = await client.GetCurrenciesAsync(paging, filter);

                    currencies = result.ToList();
                }).GetAwaiter().GetResult();
            }

            foreach (var item in currencies)
            {
                Console.WriteLine("Currency name: {0}\t| Selling price: {1}\t| Purchase price: {2}\t| Date: {3}", item.Name, item.SellingPrice, item.PurchasePrice, item.DateCreate);
            }
        }
示例#4
0
 public OrderBook(ExchangeBook exchangeBook, string tokenPairKey, string token1Id, string token2Id, RateServiceClient rateServiceClient)
 {
     TokenPairKey          = tokenPairKey;
     Token1Id              = token1Id;
     Token2Id              = token2Id;
     _rateServiceClient    = rateServiceClient;
     _exchangeBook         = exchangeBook;
     CheckConnectionStatus = _exchangeBook.checkConnectionStatus;
 }
示例#5
0
 private void InnerChannel_Faulted(object sender, EventArgs e)
 {
     rateServiceClient = new RateServiceClient(new InstanceContext(rateServiceCallBack));
 }
示例#6
0
 public RateRepository()
 {
     _rateServiceClient = new RateServiceClient();
     _rateServiceClient.RegisterWithRateManagerAsync();
 }
示例#7
0
文件: Program.cs 项目: aosrul/AbacasX
        static void TestRateManager()
        {
            RateService.RateServiceClient client = new RateServiceClient();

            Console.WriteLine("Get the Token Rate List");

            foreach (TokenRateData t in client.GetTokenRateListAsync().GetAwaiter().GetResult())
            {
                Console.WriteLine("Token {0} Bid/Ask {1}/{2}", t.TokenId, t.BidRate, t.AskRate);
            }


            Console.WriteLine("Testing Token Pair Rate Data for @[email protected]");

            TokenPairRateData tokenPairRateData = client.GetTokenPairRateAsync("@AAPL", "@BT.A").GetAwaiter().GetResult();


            Console.WriteLine("Token Pair Rates");
            Console.WriteLine("Token Pair {0}/{1}  Bid/Offer {2}/{3}", tokenPairRateData.Token1Id, tokenPairRateData.Token2Id,
                              tokenPairRateData.BidRate, tokenPairRateData.AskRate);
            Console.WriteLine("Token1 {0}  Bid/Offer {1}/{2}", tokenPairRateData.Token1Id, tokenPairRateData.Token1BidRate, tokenPairRateData.Token1AskRate);
            Console.WriteLine("Token2 {0}  Bid/Offer {1}/{2}", tokenPairRateData.Token2Id, tokenPairRateData.Token2BidRate, tokenPairRateData.Token2AskRate);

            Console.WriteLine();
            Console.WriteLine("Cross Currency Rates");
            Console.WriteLine("Currency Pair {0}-{1} Bid/Offer {2}/{3}", tokenPairRateData.Currency1, tokenPairRateData.Currency2, tokenPairRateData.CurrencyPairBidRate, tokenPairRateData.CurrencyPairAskRate);
            Console.WriteLine("Token1 Price Currency {0} Bid/Offer {1}/{2}", tokenPairRateData.Currency1, tokenPairRateData.Currency1BidRate, tokenPairRateData.Currency1AskRate);
            Console.WriteLine("Token2 Price Currency {0} Bid/Offer {1}/{2}", tokenPairRateData.Currency2, tokenPairRateData.Currency2BidRate, tokenPairRateData.Currency2AskRate);

            Console.WriteLine("Press Any Key");
            Console.ReadKey();

            Console.WriteLine();
            Console.WriteLine("GetTokenDetail Test @AAPL");

            TokenDetail tokenDetailRecord = client.GetTokenDetailAsync("@AAPL").GetAwaiter().GetResult();

            Console.WriteLine("Token Detail for {0}  TradingView Symbol {1}", tokenDetailRecord.TokenId, tokenDetailRecord.TradingViewSymbol);
            Console.WriteLine("Press Any Key");
            Console.ReadKey();



            //Console.WriteLine("Test the Get List Methods");

            //var assetList = client.GetAssetListAsync().GetAwaiter().GetResult();

            //foreach (string s in assetList)
            //    Console.WriteLine("Asset {0} returned", s);

            //var tokenList = client.GetTokenListAsync().GetAwaiter().GetResult();
            //foreach (string s in tokenList)
            //    Console.WriteLine("Token {0} returned", s);

            //Console.WriteLine("Press any key to continue");
            //Console.ReadKey();

            //Console.WriteLine("Asset Subscription Test");

            #region Test Asset Rate Subscription
            //client.AssetRateUpdateReceived += Client_AssetRateUpdateReceived;
            //client.SubscribeToAssetRateUpdateAsync("GOOG");
            //client.SubscribeToAssetRateUpdateAsync("AAPL");

            //Console.WriteLine("Press any key to continue");
            //Console.ReadKey();

            //client.UnSubscribeToAssetRateUpdateAsync("GOOG");
            //client.UnSubscribeToAssetRateUpdateAsync("AAPL");
            #endregion

            //Console.WriteLine("Token Subscription Test");
            //Console.ReadKey();

            #region Test Token Rate Subscription
            //client.TokenRateUpdateReceived += Client_TokenRateUpdateReceived;

            //client.SubscribeToTokenRateUpdateAsync("@GOOG");
            //client.SubscribeToTokenRateUpdateAsync("@AAPL");

            //Console.WriteLine("Press any key to continue");
            //Console.ReadKey();

            //client.UnSubscribeToTokenRateUpdateAsync("@GOOG");
            //client.UnSubscribeToTokenRateUpdateAsync("@AAPL");
            #endregion

            //Console.WriteLine("Test Completed");


            //Console.WriteLine("Currency Pair Subscription Test");
            //Console.ReadKey();

            //client.CurrencyPairRateUpdateReceived += Client_CurrencyPairRateUpdateReceived;
            //client.SubscribeToCurrencyPairRateUpdateAsync("EUR", "USD");

            //Console.WriteLine("Subscribing to currency pair EUR/USD");
            //Console.ReadKey();

            //client.UnSubscribeToCurrencyPairRateUpdateAsync("EUR", "USD");
            //Console.WriteLine("Unsubscribed from EUR/USD");
            //Console.ReadKey();


            Console.WriteLine("Token Pair Subscription Test");
            Console.ReadKey();

            client.TokenPairRateUpdateReceived += Client_TokenPairRateUpdateReceived;
            client.SubscribeToTokenPairRateUpdateAsync("@AAPL", "@BT.A");
            Console.WriteLine("Press any key to continue");
            Console.ReadKey();

            client.UnSubscribeToTokenPairRateUpdateAsync("@AAPL", "@BT.A");

            Console.WriteLine("Unsubscribed from @AAPL/@BT.A");


            Console.WriteLine("Test completed ...");

            Console.ReadKey();
        }