protected override void LoadState(Object navigationParameter, Dictionary<String, Object> pageState) { var repository = new BucketRepository(DatabaseConfiguration.Current); var viewModel = new DashboardViewModel(Messenger.Default, repository); DataContext = viewModel; viewModel.Initialize(); }
public SessionInitializer( BucketRepository bucketRepository, UserTaskRepository userTaskRepository) { this.bucketRepository = bucketRepository; this.userTaskRepository = userTaskRepository; }
public DashboardViewModel(IMessenger messenger, BucketRepository bucketRepository) { this.bucketRepository = bucketRepository; Buckets = new ObservableCollection<BucketViewModel>(); NewTask = new NewTaskViewModel(messenger); messenger.Register<UserTaskAddedMessage>(this, HandleCreatedUserTaskMessage); }
protected override async void OnLaunched(LaunchActivatedEventArgs args) { this.service.StartService(); if (args.PreviousExecutionState == ApplicationExecutionState.Running) { Window.Current.Activate(); return; } // Create a Frame to act as the navigation context and associate it with a SuspensionManager key var rootFrame = new Frame(); SuspensionManager.RegisterFrame(rootFrame, "AppFrame"); if (args.PreviousExecutionState == ApplicationExecutionState.Terminated) { await SuspensionManager.RestoreAsync(); } await DebuggingCleanup(); var bucketRepository = new BucketRepository(DatabaseConfiguration.Current); var userTaskRepository = new UserTaskRepository(DatabaseConfiguration.Current); var session = new SessionInitializer(bucketRepository, userTaskRepository); sessionMonkey = new SessionManagerMonkey(Messenger.Default, userTaskRepository); await session.Initialize(); if (rootFrame.Content == null) { // When the navigation stack isn't restored navigate to the first page, // configuring the new page by passing required information as a navigation parameter if (!rootFrame.Navigate(typeof(DashboardView))) { throw new Exception("Failed to create initial page"); } } // Place the frame in the current Window and ensure that it is active Window.Current.Content = rootFrame; Window.Current.Activate(); }