Exemple #1
0
 public DataViewerForm()
 {
     InitializeComponent();
     m_viewModel = new DataViewModel();
     m_viewModel.PropertyChanged += OnDataChanged;
     m_provider = null;
 }
Exemple #2
0
        /// <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();
        }
Exemple #3
0
 public QuoteProcessor(
     IQuoteDataProvider quoteDataProvider,
     IQuoteParser quoteParser,
     IQuoteStorage quoteStorage)
 {
     _quoteDataProvider = quoteDataProvider;
     _quoteParser       = quoteParser;
     _quoteStorage      = quoteStorage;
 }
Exemple #4
0
        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();
        }
Exemple #5
0
        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);
            }
        }
Exemple #6
0
        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);
        }
Exemple #7
0
 /// <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;
 }