public override void SetValue(object component, object value) { FinancialData trade = (FinancialData)component; if (null != trade) { trade.SetProp(Key, value); } OnValueChanged(component, EventArgs.Empty); }
// get a default list of financial items public static FinancialDataList GetFinancialData() { var list = new FinancialDataList(); var rnd = new Random(0); var asm = Assembly.GetExecutingAssembly(); foreach (string resName in asm.GetManifestResourceNames()) { if (resName.EndsWith("data.zip")) { var zip = new C1.C1Zip.C1ZipFile(asm.GetManifestResourceStream(resName)); using (var sr = new StreamReader(zip.Entries["StockSymbols.txt"].OpenReader())) { while (!sr.EndOfStream) { var sn = sr.ReadLine().Split('\t'); if (sn.Length > 1 && sn[0].Trim().Length > 0) { var data = new FinancialData(); data.SetProp("Symbol", sn[0]); data.SetProp("Name", sn[1]); data.SetProp("Bid", rnd.Next(1, 1000)); data.SetProp("Ask", (decimal)rnd.NextDouble()); data.SetProp("LastSale", (decimal)rnd.NextDouble()); data.SetProp("BidSize", rnd.Next(10, 500)); data.SetProp("AskSize", rnd.Next(10, 500)); data.SetProp("LastSize", rnd.Next(10, 500)); data.SetProp("Volume", rnd.Next(10000, 20000)); data.SetProp("QuoteTime", DateTime.Now); data.SetProp("TradeTime", DateTime.Now); list.Add(data); FinancialData.BuildPropertyDescriptorCollection(data._propBag, false); } } } list.AutoUpdate = true; return(list); } } throw new Exception("Can't find 'data.zip' embedded resource."); }