コード例 #1
0
        /// <summary>
        /// Constructor for the Application object.
        /// </summary>
        public App()
        {
            // Global handler for uncaught exceptions.
            UnhandledException += Application_UnhandledException;

            // Standard Silverlight initialization
            InitializeComponent();

            // Phone-specific initialization
            InitializePhoneApplication();

            // Show graphics profiling information while debugging.
            if (System.Diagnostics.Debugger.IsAttached)
            {
                // Display the current frame rate counters.
                Application.Current.Host.Settings.EnableFrameRateCounter = true;

                // Show the areas of the app that are being redrawn in each frame.
                //Application.Current.Host.Settings.EnableRedrawRegions = true;

                // Enable non-production analysis visualization mode,
                // which shows areas of a page that are handed off to GPU with a colored overlay.
                //Application.Current.Host.Settings.EnableCacheVisualization = true;

                // Disable the application idle detection by setting the UserIdleDetectionMode property of the
                // application's PhoneApplicationService object to Disabled.
                // Caution:- Use this under debug mode only. Application that disables user idle detection will continue to run
                // and consume battery power when the user is not using the phone.
                PhoneApplicationService.Current.UserIdleDetectionMode = IdleDetectionMode.Disabled;
            }

            // ###-local database-###
            string DBConnectionString = "Data Source=isostore:/NBP.sdf";

            using(nbpDataContext db = new nbpDataContext(DBConnectionString))
            {
                // brak bazy
                if (!db.DatabaseExists())
                {
                    // utworzenie nowej bazy
                    db.CreateDatabase();
                    db.Currencies.InsertOnSubmit(new Currency() { Code="PLN", Name="Polski złoty", ExchangeFactor=1, AvgExchangeRate=1 });
                    db.SubmitChanges();
                }
            }

            viewModel = new MainViewModel(DBConnectionString);

            // Jeśli data ostatniej aktualizacji jest starsza od aktualnej daty to aktualizujemy dane
            if (viewModel.LastUpdate.Date < DateTime.Now.Date || viewModel.Currencies.Count == 0)
                viewModel.Update();
            else
                viewModel.DownloadStatus = "Baza walut jest aktualna.";
        }
コード例 #2
0
 public MainViewModel(string connectionString)
 {
     this.nbpDB = new nbpDataContext(connectionString);
     this.LoadDataFromDB();
 }