private static string ConvertPortalGroupToHtmlString(ArcGISPortalGroup portalGroup)
 {
     if (portalGroup != null)
     {
         var sb = new StringBuilder();
         sb.Append("<h2>");
         sb.Append("Description");
         sb.Append("</h2>");
         sb.Append(portalGroup.Description);
         sb.Append("<h2>");
         sb.Append("Tags");
         sb.Append("</h2>");
         var index = 0;
         foreach (var tag in portalGroup.Tags)
         {
             if (index++ != 0)
             {
                 sb.Append("<span>, </span>");
             }
             sb.AppendFormat("<a href=\"arcgis://search/{0}\" style=\"text-decoration:none\" >{1}</a>", Uri.EscapeDataString(tag), tag);
         }
         return(sb.ToString());
     }
     return(string.Empty);
 }
 private static string ConvertPortalGroupToHtmlString(ArcGISPortalGroup portalGroup)
 {
     if (portalGroup != null)
     {
         var sb = new StringBuilder();
         sb.Append("<h2>");
         sb.Append("Description");
         sb.Append("</h2>");
         sb.Append(portalGroup.Description);
         sb.Append("<h2>");
         sb.Append("Tags");
         sb.Append("</h2>");
         var index = 0;
         foreach (var tag in portalGroup.Tags)
         {
             if (index++ != 0)
                 sb.Append("<span>, </span>");
             sb.AppendFormat("<a href=\"arcgis://search/{0}\" style=\"text-decoration:none\" >{1}</a>", Uri.EscapeDataString(tag), tag);
         }
         return sb.ToString();
     }
     return string.Empty;
 }
Beispiel #3
0
        public PortalCollectionViewModel(INavigationService navigationService)
        {
            Messenger.Default.Register <ChangeIncremetalCollectionMessage>(this, msg =>
            {
                try
                {
                    PortalItems       = msg.ItemCollection;
                    CollectionTitle   = PortalItems.Title;
                    CurrentCollection = PortalItems;
                }
                catch (Exception ex)
                {
                    var _ = App.ShowExceptionDialog(ex);
                }
            });

            Messenger.Default.Register <ChangePortalItemsCollectionMessage>(this, msg =>
            {
                try
                {
                    MyMapsItems       = msg.ItemCollection;
                    CollectionTitle   = msg.Title;
                    CurrentCollection = MyMapsItems;
                }
                catch (Exception ex)
                {
                    var _ = App.ShowExceptionDialog(ex);
                }
            });

            Messenger.Default.Register <ChangeFavoritesCollectionMessage>(this, msg =>
            {
                try
                {
                    CollectionTitle   = msg.Title;
                    CurrentCollection = FavoritesService.CurrentFavoritesService.Favorites;
                }
                catch (Exception ex)
                {
                    var _ = App.ShowExceptionDialog(ex);
                }
            });

            Messenger.Default.Register <ChangePortalGroupsCollectionMessage>(this, msg =>
            {
                try
                {
                    PortalGroups      = msg.ItemCollection;
                    CollectionTitle   = "Groups";
                    CurrentCollection = PortalGroups;
                }
                catch (Exception ex)
                {
                    var _ = App.ShowExceptionDialog(ex);
                }
            });

            // initialize ItemClick RelayCommand
            ItemClickCommand = new RelayCommand <object>((e) =>
            {
                // handle the type of EventArgs passed
                if (e == null)
                {
                    return;
                }

                ArcGISPortalItem portalItem = null;
                if (e.GetType() == typeof(ArcGISPortalItem))
                {
                    portalItem = e as ArcGISPortalItem;
                }
                // the GridView sends ItemClickEventArgs
                else if (e.GetType() == typeof(ItemClickEventArgs))
                {
                    portalItem = ((ItemClickEventArgs)e).ClickedItem as ArcGISPortalItem;
                }
                else if (e.GetType() == typeof(PointerRoutedEventArgs))
                {
                    portalItem = ((PointerRoutedEventArgs)e).OriginalSource as ArcGISPortalItem;
                }

                if (portalItem != null)
                {
                    //SelectedPortalItem = portalItem;

                    // send clicked item via a message to other ViewModels who
                    // are registered with ChangeItemSelectedMessage
                    Messenger.Default.Send <ChangeItemSelectedMessage>(new ChangeItemSelectedMessage()
                    {
                        Item = portalItem
                    });

                    // use the navigation service to navigate to the page showing the item details
                    navigationService.Navigate(App.ItemPageName, portalItem);
                }
                else // check if it is a PortalGroup
                {
                    ArcGISPortalGroup portalGroup = null;
                    // the GridView sends ItemClickEventArgs
                    if (e.GetType() == typeof(ItemClickEventArgs))
                    {
                        portalGroup = ((ItemClickEventArgs)e).ClickedItem as ArcGISPortalGroup;
                    }

                    if (portalGroup != null)
                    {
                        // send clicked item via a message to other ViewModels who
                        // are registered with ChangeGroupSelectedMessage
                        Messenger.Default.Send <ChangeGroupSelectedMessage>(new ChangeGroupSelectedMessage()
                        {
                            Group = portalGroup
                        });
                        //Use the navigation service to navigate to the page showing the item details
                        navigationService.Navigate(App.GroupPageName);
                    }
                }
            });
        }
        private void InitializeCommandAndMessages()
        {
            // initialize ItemClick RelayCommand
            ItemClickCommand = new RelayCommand <object>((e) =>
            {
                // handle the type of EventArgs passed
                if (e == null)
                {
                    return;
                }

                ArcGISPortalItem portalItem = null;
                // the GridView sends ItemClickEventArgs
                if (e.GetType() == typeof(ItemClickEventArgs))
                {
                    portalItem = ((ItemClickEventArgs)e).ClickedItem as ArcGISPortalItem;
                }
                // our GalleryPreviewControl sends TileClickEventArgs
                else if (e.GetType() == typeof(TileClickEventArgs))
                {
                    portalItem = ((TileClickEventArgs)e).ClickedTile as ArcGISPortalItem;
                }

                if (portalItem != null)
                {
                    // send clicked item via a message to other ViewModels who
                    // are registered with ChangeItemSelectedMessage
                    Messenger.Default.Send <ChangeItemSelectedMessage>(new ChangeItemSelectedMessage()
                    {
                        Item = portalItem
                    });
                    //Use the navigation service to navigate to the page showing the item details
                    _navigationService.Navigate(App.ItemPageName, portalItem);
                }
                else // check if it is a PortalGroup
                {
                    ArcGISPortalGroup portalGroup = null;
                    // the GridView sends ItemClickEventArgs
                    if (e.GetType() == typeof(ItemClickEventArgs))
                    {
                        portalGroup = ((ItemClickEventArgs)e).ClickedItem as ArcGISPortalGroup;
                    }
                    // our GalleryPreviewControl sends TileClickEventArgs
                    else if (e.GetType() == typeof(TileClickEventArgs))
                    {
                        portalGroup = ((TileClickEventArgs)e).ClickedTile as ArcGISPortalGroup;
                    }

                    if (portalGroup != null)
                    {
                        // send clicked item via a message to other ViewModels who
                        // are registered with ChangeGroupSelectedMessage
                        Messenger.Default.Send <ChangeGroupSelectedMessage>(new ChangeGroupSelectedMessage()
                        {
                            Group = portalGroup
                        });
                        //Use the navigation service to navigate to the page showing the item details
                        _navigationService.Navigate(App.GroupPageName);
                    }
                }
            });

            // initialize MoreClickCommand RelayCommand
            MoreClickCommand = new RelayCommand <object>((objectCollection) =>
            {
                if (objectCollection == null)
                {
                    return;
                }

                //Use the navigation service to navigate to the page showing the specific collection of portal items
                _navigationService.Navigate(App.CollectionPageName, objectCollection);
            });

            // Register with  PopulateDataMessage
            Messenger.Default.Register <PopulateDataMessage>(this, msg => { var _ = PopulateDataAsync(); });

            // Register with ChangedPortalServiceMessage
            Messenger.Default.Register <ChangedPortalServiceMessage>(this, msg => { var _ = PopulateDataAsync(); });
        }