public DataViewerForm() { InitializeComponent(); m_viewModel = new DataViewModel(); m_viewModel.PropertyChanged += OnDataChanged; m_provider = null; }
/// <summary> /// Entry point of this console viewer program. /// </summary> public static void Main() { IQuoteDataProvider provider = GetProvider(); ConsoleViewer viewer = new ConsoleViewer(provider); provider.Subscribe(viewer); provider.StatusChanged += viewer.OnStatusChanged; provider.Start(); while (true) { Thread.Sleep(100); if (Console.KeyAvailable) { if (Console.ReadKey(true).Key == ConsoleKey.Escape) { Console.WriteLine("Manual abort.\nExiting..."); break; } } } provider.Stop(); provider.Unsubscribe(viewer); Console.Write("\nPress Enter to exit..."); Console.ReadLine(); }
public QuoteProcessor( IQuoteDataProvider quoteDataProvider, IQuoteParser quoteParser, IQuoteStorage quoteStorage) { _quoteDataProvider = quoteDataProvider; _quoteParser = quoteParser; _quoteStorage = quoteStorage; }
private void DataViewerForm_Load(object sender, EventArgs e) { m_provider = FormsManager.UniqueInstance.GetProvider(); if (m_provider == null) { Close(); return; } m_provider.Subscribe(this); m_provider.StatusChanged += OnStatusChanged; m_provider.Start(); }
public IQuoteDataProvider GetProvider() { SourceSelectionForm sourceForm = new SourceSelectionForm(); while (true) { sourceForm.ShowDialog(); IQuoteDataProvider provider = null; if (sourceForm.FilePath != null) { try { provider = new FileQuoteProvider(sourceForm.FilePath); } catch (Exception ex) { sourceForm.OnErrorOccurred(ex); continue; } } else if (sourceForm.ServerAddress != null && sourceForm.Port != -1) { ServerLoginForm loginForm = new ServerLoginForm(); loginForm.ShowDialog(); if (loginForm.Username == null && loginForm.Password == null) { sourceForm.ResetServerAddress(); continue; } try { provider = new TcpQuoteProvider(sourceForm.ServerAddress, sourceForm.Port, loginForm.Username, loginForm.Password); } catch (Exception ex) { sourceForm.OnErrorOccurred(ex); continue; } } return(provider); } }
private static IQuoteDataProvider GetProvider() { IQuoteDataProvider provider = null; while (true) { Console.WriteLine("Choose source: 1. Internet. 2. Local file."); Console.Write("Type your choice here: "); ConsoleKeyInfo key = Console.ReadKey(); Console.WriteLine(); switch (key.Key) { case ConsoleKey.D1: Console.Write("Username: "******"Password: "******"180.166.86.198", 8301, username, password); break; case ConsoleKey.D2: Console.Write("Local path: "); string filePath = Console.ReadLine(); provider = new FileQuoteProvider(filePath); break; default: Console.WriteLine("Invalid response. Try Again..."); break; } if (provider != null) { break; } } Console.WriteLine(); Debug.Assert(provider != null); return(provider); }
/// <summary> /// Initializes a new instance of the <c>ConsoleViewer</c> class with the given quote data provider. /// </summary> public ConsoleViewer(IQuoteDataProvider provider) { m_previousMessage = null; }