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); }
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(); } }
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); } }
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; }
private void InnerChannel_Faulted(object sender, EventArgs e) { rateServiceClient = new RateServiceClient(new InstanceContext(rateServiceCallBack)); }
public RateRepository() { _rateServiceClient = new RateServiceClient(); _rateServiceClient.RegisterWithRateManagerAsync(); }
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(); }