/DataBoundApp1/DetailsPage.xaml.cs
C# | 57 lines | 47 code | 8 blank | 2 comment | 7 complexity | 617463941658472fbc396b1b878a6134 MD5 | raw file
- using System;
- using System.Linq;
- using System.Windows;
- using System.Windows.Navigation;
- using DataBoundApp1.ViewModels;
- using Microsoft.Phone.Controls;
-
- namespace DataBoundApp1
- {
- public partial class DetailsPage : PhoneApplicationPage
- {
- // Constructor
- public DetailsPage()
- {
- InitializeComponent();
- }
-
- // When page is navigated to set data context to selected item in list
- protected override void OnNavigatedTo(NavigationEventArgs e)
- {
- string selectedIndex = "";
- if (NavigationContext.QueryString.TryGetValue("selectedItem", out selectedIndex))
- {
- DataContext = App.ViewModel.Sessions.SingleOrDefault(s => s.Uri == selectedIndex);
- }
- }
-
- private SessionViewModel Session
- {
- get { return (SessionViewModel) this.DataContext; }
- }
-
- private void ToggleFavorite(object sender, EventArgs e)
- {
- if (App.ViewModel.Favorites.Any(s => s.Start == Session.Start))
- {
- MessageBox.Show("You've alread added the session for this slot. Don't do that.");
- return;
- }
-
- var foundSession = App.ViewModel.Favorites.SingleOrDefault(s => s.Uri == Session.Uri);
-
- if (foundSession != null)
- {
- App.ViewModel.Favorites.Remove(foundSession);
- MessageBox.Show("session removed.");
- }
- else
- {
- App.ViewModel.Favorites.Add(Session);
- MessageBox.Show("session added.");
- }
-
-
- }
- }
- }