Пример #1
0
        /// <summary>
        /// Raised when the user changes the selected item.
        /// Check if the item is a seletable item and open the app bar if it's the case
        /// </summary>
        /// <param name="sender">GridView or ListView</param>
        /// <param name="e">Event arguments</param>
        private void ItemView_OnSelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            if (e.AddedItems.Count == 1)
            {
                VisualGenericItem selectedItem = (VisualGenericItem)e.AddedItems[0];

                // If the item is selectable, open the app bar
                IList <string> types = new List <string> {
                    "News", "Conference", "Show"
                };

                if (types.Contains(selectedItem.Type))
                {
                    AppBar.IsOpen = true;
                }
                else
                {
                    ((Selector)sender).SelectedItem = null;
                }
            }
            else
            {
                AppBar.IsOpen = false;
            }
        }
Пример #2
0
        public object Convert(object value, Type targetType, object parameter, string language)
        {
            string applicationName = ResourcesRsxAccessor.GetString("AppName");

            PinnableObject pinnableObject = null;

            if (value is VisualGenericItem)
            {
                VisualGenericItem item = value as VisualGenericItem;

                pinnableObject = new PinnableObject
                {
                    Id       = string.Format("{0}-{1}-{2}", applicationName, item.Type, item.Id),
                    Title    = item.Title,
                    ImageUrl = item.ImageUrl,
                    Content  = item.Title
                };
            }
            else if (value is News)
            {
                News news = value as News;

                pinnableObject = new PinnableObject
                {
                    Id       = string.Format("{0}-News-{1}", applicationName, news.Id),
                    Title    = news.Title,
                    ImageUrl = news.ImageUrl,
                    Content  = news.Title
                };
            }
            else if (value is Conference)
            {
                Conference conference = value as Conference;

                pinnableObject = new PinnableObject
                {
                    Id       = string.Format("{0}-Conference-{1}", applicationName, conference.Id),
                    Title    = conference.Name,
                    ImageUrl = conference.ImageUrl,
                    Content  = conference.Name
                };
            }
            else if (value is Show)
            {
                Show salon = value as Show;

                pinnableObject = new PinnableObject
                {
                    Id       = string.Format("{0}-Show-{1}", applicationName, salon.Id),
                    Title    = salon.Name,
                    ImageUrl = salon.ImageUrl,
                    Content  = salon.Name
                };
            }

            return(pinnableObject);
        }
 /// <summary>
 /// Raised when the user loads or resumes the page
 /// </summary>
 /// <param name="navigationParameter">Passed navigation parameters</param>
 /// <param name="pageState">Contains saved informations before the page was suspended</param>
 protected override void LoadState(object navigationParameter, Dictionary <string, object> pageState)
 {
     if (navigationParameter is Project)
     {
         Project projet = navigationParameter as Project;
         Messenger.Default.Send(projet);
     }
     else if (navigationParameter is VisualGenericItem)
     {
         VisualGenericItem conference = navigationParameter as VisualGenericItem;
         Messenger.Default.Send(conference.Id);
     }
 }
Пример #4
0
        /// <summary>
        /// Map a member to an generic item
        /// </summary>
        /// <param name="element">Member to map</param>
        /// <returns>Corresponding generic item</returns>
        public VisualGenericItem Map(Member element)
        {
            var item = new VisualGenericItem
            {
                Id       = element.Id,
                Title    = string.Format("{0} {1}", element.FirstName, element.LastName),
                Subtitle = string.Format("{0}, {1}", element.Campus.Place, element.Status),
                ImageUrl = element.ImageUrl,
                Type     = element.GetType().Name
            };

            return(item);
        }
Пример #5
0
        /// <summary>
        /// Open the selected item in the related details page
        /// </summary>
        /// <param name="item">Item to display</param>
        private void GoToDetailsPage(VisualGenericItem item)
        {
            IDictionary <string, Func <Type> > pages = new Dictionary <string, Func <Type> >
            {
                { "News", () => typeof(NewsDetailsPage) },
                { "Member", () => typeof(MemberDetailsPage) },
                { "Project", () => typeof(ProjectDetailsPage) },
                { "Conference", () => typeof(ConferenceDetailsPage) },
                { "Show", () => typeof(ShowDetailsPage) }
            };

            Type type = pages[item.Type]();

            Frame.Navigate(type, item);
        }
        /// <summary>
        /// Raised when the user loads or resumes the page
        /// Get informations from the model
        /// Register to the MVVM Light Messenger
        /// </summary>
        /// <param name="navigationParameter">Passed navigation parameters</param>
        /// <param name="pageState">Contains saved informations before the page was suspended</param>
        protected override void LoadState(object navigationParameter, Dictionary <String, Object> pageState)
        {
            if (navigationParameter is Member)
            {
                Member member = navigationParameter as Member;
                Messenger.Default.Send(member);
            }
            else if (navigationParameter is VisualGenericItem)
            {
                VisualGenericItem member = navigationParameter as VisualGenericItem;
                Messenger.Default.Send(member.Id);
            }

            // Register to the MVVM Light Messenger
            Messenger.Default.Register <Uri>(this, OpenWebBrowser);
        }
Пример #7
0
 /// <summary>
 /// Show the details page according the type of the element (news, conference, member or show)
 /// </summary>
 /// <param name="item">Item to show. Can be a news, a conference, a member or a show</param>
 private void ShowDetailsPage(VisualGenericItem item)
 {
     if (item != null)
     {
         if (App.IsInternetAvailable)
         {
             string url = string.Format("/{0}Page.xaml?Id={1}", item.Type, item.Id);
             Uri    uri = new Uri(url, UriKind.Relative);
             NavigationService.Navigate(uri);
         }
         else
         {
             MessageBox.Show(AppResources.MSG_CHECK_NETWORK);
         }
     }
 }
        /// <summary>
        /// Raised when the user loads or resumes the page
        /// </summary>
        /// <param name="navigationParameter">Passed navigation parameters</param>
        /// <param name="pageState">Contains saved informations before the page was suspended</param>
        protected override void LoadState(object navigationParameter, Dictionary <string, object> pageState)
        {
            if (navigationParameter is Show)
            {
                Show salon = navigationParameter as Show;
                Messenger.Default.Send(salon);
            }
            else if (navigationParameter is VisualGenericItem)
            {
                VisualGenericItem salon = navigationParameter as VisualGenericItem;
                Messenger.Default.Send(salon.Id);
            }

            // Register to the Share event
            DataTransferManager.GetForCurrentView().DataRequested += ShowDetailsPage_DataRequested;

            // Register to the MVVM Light Messenger
            Messenger.Default.Register <PinnableObject>(this, Pin);
            Messenger.Default.Register <ShareableObject>(this, Share);
            Messenger.Default.Register <Uri>(this, OpenWebBrowser);
        }
        /// <summary>
        /// Raised when the user loads or resumes the page
        /// </summary>
        /// <param name="navigationParameter">Passed navigation parameters</param>
        /// <param name="pageState">Contains saved informations before the page was suspended</param>
        protected override void LoadState(object navigationParameter, Dictionary <string, object> pageState)
        {
            // Display the conference or load it from the model
            if (navigationParameter is Conference)
            {
                Conference conference = navigationParameter as Conference;
                Messenger.Default.Send(conference);
            }
            else if (navigationParameter is VisualGenericItem)
            {
                VisualGenericItem conference = navigationParameter as VisualGenericItem;
                Messenger.Default.Send(conference.Id);
            }

            // Register to the Share event
            DataTransferManager.GetForCurrentView().DataRequested += ConferencesDetailsPage_DataRequested;

            // Register to the MVVM Light Messenger
            Messenger.Default.Register <PinnableObject>(this, Pin);
            Messenger.Default.Register <ShareableObject>(this, Share);
            Messenger.Default.Register <Uri>(this, OpenWebBrowser);
        }
Пример #10
0
 /// <summary>
 /// Informs the UI to show the details page in terms of the passed element
 /// </summary>
 /// <param name="item">Element</param>
 private void GoToDetailsPage(VisualGenericItem item)
 {
     Messenger.Default.Send(item);
 }