public void LoadData() { this.Items.Clear(); JourneyRepository journeyRepository = new JourneyRepository(); IEnumerable<Journey> journeys = journeyRepository.GetAll().Reverse(); foreach (Journey journey in journeys) { ItemViewModel item = new ItemViewModel() { Id = journey.Id, LineOne = string.Format( "{0:#,0} {1}", journey.Miles, App.Settings.UnitType.ToString().ToLower()), LineTwo = journey.Date.ToString("dd/MM/yyyy") }; this.Items.Add(item); } this.IsDataLoaded = true; }
private void ApplicationBarIconButton_Save_Click(object sender, EventArgs e) { JourneyRepository journeyRepository = new JourneyRepository(); Journey journey = ((EditJourneyViewModel)this.DataContext).Journey; journeyRepository.Update(journey); // TODO: Make the main page load data on navigate to? App.ViewModel.LoadData(); NavigationService.GoBack(); }
private void ApplicationBarIconButton_Delete_Click(object sender, EventArgs e) { JourneyRepository journeyRepository = new JourneyRepository(); Journey journey = ((EditJourneyViewModel)this.DataContext).Journey; journeyRepository.Delete(journey); // TODO: Look at making the view model collection an observable collection. App.ViewModel.LoadData(); NavigationService.GoBack(); }
/// <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; } string connectionString = "Data Source=isostore:/MileageTracker.sdf"; using (LinqDataContext dataContext = new LinqDataContext(connectionString)) { if (!dataContext.DatabaseExists()) { dataContext.CreateDatabase(); } } JourneyRepository repo = new JourneyRepository(); var readJourneys = repo.GetAll(); }
private void ApplicationBarIconButton_Save_Click(object sender, EventArgs e) { // TODO: Verify input, to ensure we have start mileage, end mileage and a date. Journey journey = new Journey() { Date = this.Date.Value.Value, StartMileage = int.Parse(this.StartMileage.Text), EndMileage = int.Parse(this.EndMileage.Text) }; JourneyRepository journeyRepository = new JourneyRepository(); journeyRepository.Insert(journey); App.ViewModel.LoadData(); NavigationService.GoBack(); }
// TODO: Looks to count an on navigated to event when returning from the date picker. Check this // and see if you can do this some other way? Maybe bindings again. protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e) { base.OnNavigatedTo(e); string idParam = string.Empty; if (this.NavigationContext.QueryString.TryGetValue("Id", out idParam)) { JourneyRepository journeyRepository = new JourneyRepository(); int id = int.Parse(idParam); EditJourneyViewModel viewModel = new EditJourneyViewModel(); viewModel.Journey = journeyRepository.GetById(id); this.DataContext = viewModel; } }
// Code to execute when the application is closing (eg, user hit Back) // This code will not execute when the application is deactivated private void Application_Closing(object sender, ClosingEventArgs e) { // TODO: This needs putting somewhere better. SettingsRepository settingsRepository = new SettingsRepository(); Settings settings = settingsRepository.Get(); DateTime expireAfter = DateTime.Now.Date.AddMonths(0 - settings.ExpireAfterDays); JourneyRepository journeyRepository = new JourneyRepository(); journeyRepository.DeleteOlderThan(expireAfter); }