//public static void process(object sender, System.Timers.ElapsedEventArgs e) ////{ // string[] products = { "AUDUSD" // , "AUDJPY", "EURJPY", "EURUSD", "GBPUSD", // "GBPJPY", "NZDUSD", "USDJPY", // "USDCAD", "USDCHF", "GOLD", "SILVER" // }; // //while (true) // //{ // if (index >= products.Length) // index = 0; // if (c > 11) // c = 0; // double d = 0; // Random rand = new Random(); // double r= (double)rand.Next(1, 9); // if (c % 2 == 0) // { // d = (1.2012 +( (double)r/1000)- (double)c / 100000); // } // else // { // d = (1.2012 - ((double)r / 1000) + (double)c / 100000); // } // Symbol symbol = (Symbol)Enum.Parse(typeof(Symbol), products[index].Trim()); // DateTime dateTime = time.Add(TimeSpan.FromMinutes(t)); // //DateTime dateTime = time.Add(TimeSpan.FromSeconds(t)); // RealTimeData realTimeData = new RealTimeData(); // realTimeData.symbol = symbol; // realTimeData.datas = new double[] { d }; // realTimeData.dateTime = dateTime; // if (DataService.symbolDatas.ContainsKey(symbol)) // { // //List<RealTimeData> list = FXDataSource.RetrieveDataCache(symbol); // //list.Add(realTimeData); // if (null != DataService.providerList[symbol].DataCache) // { // if (!DataService.providerList[symbol].DataCache.IsInitialized) // { // DataService.providerList[symbol].DataCache.StartTime = realTimeData.dateTime; // DataService.providerList[symbol].DataCache.Init(); // } // DataService.providerList[symbol].DataCache.RealTimeDatas.Add(realTimeData); // } // //FXDataSource.WakeUpDataProvider(symbol); // //FXDataSource.UpdateGraphicUI(FXDataSource.sourceHandler, realTimeData); // } // if(AppContext.IsSignalListInitialized) // DataService.UpdateListView(DataService.priceListDelegate, realTimeData); // //ThreadPool.QueueUserWorkItem(new WaitCallback(ProductListUpdate), realTimeData); // //Thread.Sleep(1000); // t++; // index++; // c++; //} public static void ReceiveMsg(string realTimeMsg) { string rmsg = (string)realTimeMsg; List <RealTimeData> rtdList = AppUtil.ParseRtdMsg((string)realTimeMsg); if (rtdList.Count > 0) { foreach (RealTimeData realTimeData in rtdList) { lock (DataService.symbolDatas) { if (DataService.symbolDatas.ContainsKey(realTimeData.symbol)) { DataService.GetProviderBySymbol(realTimeData.symbol).DataCache.RealTimeDatas.Add(realTimeData); } if (AppContext.IsPriceListInitialized) { DataService.UpdateListView(DataService.priceListDelegate, realTimeData); } } } } }