Пример #1
0
        public DetailsViewModel(NavigationHelper navService, DetailsAddCommentViewModel dacvm, DetailsAddTagViewModel datvm)
        {
            //Messenger.Default.Register<DecoratedPushPin>(this,m => LoadFromPin(m));
            Messenger.Default.Register<PoiPushpin>(this, MessageTokens.PoiPushpinDetailsClicked, PoiPushpinDetailsClicked);
            Messenger.Default.Register<bool>(this, MessageTokens.TagAdded, HandleRefreshRequst);
            Messenger.Default.Register<bool>(this, MessageTokens.CommentAdded, HandleRefreshRequst);
            Messenger.Default.Register<bool>(this, MessageTokens.RatingAdded, HandleRefreshRequst);
            NavigationHelper = navService;

            //Create the relay commands
            /*AddTagToPoi = new RelayCommand<PoiPushpin>((pin) =>
                {
                    if (TwitterHelper.HasAuthenticated)
                    {
                        NavigationHelper.NavigateToAddTagPage();
                        Messenger.Default.Send<PoiPushpin>(pin, MessageTokens.PoiPushpinDetailsAddTagClicked);
                    }
                    else
                    {
                        MessageBox.Show("You must login via twitter before you are able to add a tag.", "Warning", MessageBoxButton.OK);
                    }
                });

            AddCommentToPoi = new RelayCommand<PoiPushpin>((pin) =>
                {
                    if (TwitterHelper.HasAuthenticated)
                    {
                        NavigationHelper.NavigateToAddCommentPage();
                        Messenger.Default.Send<PoiPushpin>(pin, MessageTokens.PoiPushpinDetailsAddCommentClicked);
                    }
                    else
                    {
                        MessageBox.Show("You have to login via twitter to add a comment.", "Warning", MessageBoxButton.OK);
                    }

                });

            AddRatingToPoi = new RelayCommand<int>((rating) =>
                {
                    if (TwitterHelper.HasAuthenticated)
                    {
                        if (MessageBox.Show(string.Format("Are you sure you want to rate the placemark {0} out of 5 Stars?", rating), "Confirm?", MessageBoxButton.OKCancel) == MessageBoxResult.OK)
                            DataUploaderProxy.AddRating(Pin.VanGuideId, Pin.Id, rating);
                    }
                    else
                    {
                        MessageBox.Show("You have to login via twitter to add a rating.", "Warning", MessageBoxButton.OK);
                    }
                });*/
        }
Пример #2
0
        public SettingsViewModel(NavigationHelper navHelper, VanGuideDataLoader vanGuideDataLoader, SharedLandmarksDataLoader sharedLandmarksDataLoader, VanGuideRegions regionsDataLoader)
        {
            this.NavigationHelper = navHelper;

            this.VanGuideDataLoader = vanGuideDataLoader;
            this.VanGuideRegions = regionsDataLoader;
            //this.SharedLandmarksDataLoader = sharedLandmarksDataLoader;

            //create the relay commands
            MapStyleChanged = new RelayCommand<string>(MapStyleChangedExecute);
            PointGroupFilterChanged = new RelayCommand<SelectionChangedEventArgs>(PointGroupFilterChangedExecute);

            Messenger.Default.Register<bool>(this, MessageTokens.SocialPointAdded, (b) => 
            {
                DispatcherHelper.UIDispatcher.BeginInvoke(() => { 
                    //this.LoadSocialLandmarks();
                    //a new point group was selected
                    PointGroupFilterChangedExecute(new SelectionChangedEventArgs(new List<PointGroup>(), new List<PointGroup>() /*{ this.Social.First() as PointGroup }*/));
                }); 
            });
        }
Пример #3
0
        public MainViewModel(NavigationHelper navHelper, LocationHelper lh)
        {
            this.NavigationHelper = navHelper;

            //setup the relay commands
            this.NavigateToSettings = new RelayCommand(() =>NavigationHelper.NavigateToSettingsPage());
            this.NavigateToDetails = new RelayCommand<PoiPushpin>((pin) =>
                {
                    //Notify the details view model page that a pushpin has been clicked
                    Messenger.Default.Send(pin, MessageTokens.PoiPushpinDetailsClicked);
                    NavigationHelper.NavigateToDetailsPage();
                });
            //TwitterLoginClicked = new RelayCommand(TwitterLoginClickedExecute);
            FindLocationClicked = new RelayCommand(FindLocationClickedExecute);
            //AddSharedLandmarkCanceledClicked = new RelayCommand(() => NewSharedLandmarkItem = null);
            //AddSharedLandmarkClicked = new RelayCommand(() => NewSharedLandmarkItem = new SharedLandmark());
            //UploadNewSharedLandmarkClicked = new RelayCommand(UploadNewSharedLandmarkClickedExecute);
            AboutHelpClickedCommand = new RelayCommand(() =>
                {
                    NavigationHelper.NavigateToHelpPage();
                });


            //set the bing maps key
            BingMapsKey = "AjFLV9iriOBIfKdOaYMAHrWjIwdNvVXkQ11DzvzM6dYttwa7ClfDF-G0xbGmF6zj";
            LoadMapMode();

            //Register for messages
            Messenger.Default.Register<MapMode>(this,MessageTokens.MapModeChanged,(mapMode) => this.CurrentMapMode = mapMode);
            //Messenger.Default.Register<bool>(this, MessageTokens.TwitterLoginValueChanged,(twitterLogedIn) => RaisePropertyChanged("TwitterMenuItemText"));
            Messenger.Default.Register<PoiPushpin>(this, MessageTokens.PoiPushpinClicked, PoiPushpinClicked);
            Messenger.Default.Register<PointGroup>(this, MessageTokens.MapLayerAdded, MapLayerAdded);

            //setup the location helper
            LocationHelper = lh;
            Messenger.Default.Register<Location>(this, MessageTokens.CurrentPositionUpdated,LocationFoundCallback);
                
        }
Пример #4
0
        public DetailsAddCommentViewModel(NavigationHelper navService)
        {
            Messenger.Default.Register<PoiPushpin>(this, MessageTokens.PoiPushpinDetailsAddCommentClicked, (pin) => LoadFromPin(pin));
            NavigationHelper = navService;

            //Create the relay commands
            this.AddNewComment = new RelayCommand<string>(AddNewCommentExecute);
        }