private void LoadDatabase()
        {
            try
            {
                if (string.IsNullOrEmpty(DatabasePath))
                {
                    throw new Exception("Path cannot be empty.");
                }

                var exists = File.Exists(databasePath);

                dataStore = new DataStore(databasePath, !exists);
                QuoteService.Instance.SetDataStore(dataStore);

                //Store
                Properties.Settings.Default.LastPath = databasePath;
                Properties.Settings.Default.Save();

                RaisePropertyChanged("Loaded");
                RaisePropertyChanged("NotLoaded");

                RefreshQuote();

                QuoteService.Instance.StartTimer();
            }
            catch (Exception e)
            {
                MessageBoxFactory.ShowError(e);
            }
        }
Example #2
0
        public ExportImportWindow(IQuoteStore ds)
        {
            InitializeComponent();

            vm = new ExportImportViewModel(this, ds);
            this.DataContext = vm;
        }
        public QuotesPopupWindow(IQuoteStore ds)
        {
            InitializeComponent();
            this.DataContext = this;

            WindowOpacity = 0;

            //QuotesViewer.SetDataStore(ds);
            QuotesViewer.SetQuote(ds.GetRandomQuote());
        }
        private void Unload()
        {
            QuoteService.Instance.UnloadDatabase();
            dataStore = null;

            quoteViewer.SetQuote(null);

            RaisePropertyChanged("NotLoaded");
            RaisePropertyChanged("Loaded");
        }
Example #5
0
        public QuoteServer(IQuoteSource quoteSource, IQuoteTransportServer transportServer, IQuoteStore quoteStore)
        {
            this.quoteSource = quoteSource;
            this.server = transportServer;
            this.quoteStore = quoteStore;

            timer.Elapsed += TimerOnElapsed;
            timer.Interval = 2000;
            timer.Start();

            quoteSource.NewQuoteAvailable += QuoteSourceOnNewQuoteAvailable;
            server.OnNewClientConnected += ServerOnOnNewClientConnected;
        }
Example #6
0
        public QuoteServer(IQuoteSource quoteSource, IQuoteTransportServer transportServer, IQuoteStore quoteStore)
        {
            this.quoteSource = quoteSource;
            this.server      = transportServer;
            this.quoteStore  = quoteStore;

            timer.Elapsed += TimerOnElapsed;
            timer.Interval = 2000;
            timer.Start();

            quoteSource.NewQuoteAvailable += QuoteSourceOnNewQuoteAvailable;
            server.OnNewClientConnected   += ServerOnOnNewClientConnected;
        }
Example #7
0
 public ExportImportViewModel(Window window, IQuoteStore ds)
 {
     this.window = window;
     this.ds     = ds;
 }
Example #8
0
 public Manager(IQuoteStore dataStore) : this()
 {
     vm = new ManagerViewModel(dataStore);
     this.DataContext = vm;
 }
Example #9
0
 public ManagerViewModel(IQuoteStore ds)
 {
     this.dataStore = ds;
     ListItems      = new ObservableCollection <object>();
     QuotesList     = new ObservableCollection <Quote>();
 }
Example #10
0
 public void UnloadDatabase()
 {
     StopTimer();
     dataStore = null;
 }
Example #11
0
 public void SetDataStore(IQuoteStore dataStore)
 {
     this.dataStore = dataStore;
 }