コード例 #1
0
 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();
 }
コード例 #2
0
 public SessionInitializer(
     BucketRepository bucketRepository,
     UserTaskRepository userTaskRepository)
 {
     this.bucketRepository = bucketRepository;
     this.userTaskRepository = userTaskRepository;
 }
コード例 #3
0
        public DashboardViewModel(IMessenger messenger, BucketRepository bucketRepository)
        {
            this.bucketRepository = bucketRepository;

            Buckets = new ObservableCollection<BucketViewModel>();
            NewTask = new NewTaskViewModel(messenger);

            messenger.Register<UserTaskAddedMessage>(this, HandleCreatedUserTaskMessage);
        }
コード例 #4
0
ファイル: App.xaml.cs プロジェクト: kiwipom/billboard
        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();
        }