protected override void DisplayCustomPoiInfo(Object modelObject)
        {
            ExampleApp.SearchResultModelCLI model = modelObject as ExampleApp.SearchResultModelCLI;

            YelpResultModel yelpResultModel = YelpResultModel.FromResultModel(model);
            var             mainGrid        = (Application.Current.MainWindow as MainWindow).MainGrid;
            var             screenWidth     = mainGrid.ActualWidth;

            m_closing = false;

            TitleText             = model.Title;
            AddressText           = model.Subtitle.Replace(", ", "," + Environment.NewLine);
            PhoneText             = yelpResultModel.Phone;
            HumanReadableTagsText = string.Join(", ", model.HumanReadableTags);
            ReviewText            = string.Join(Environment.NewLine, yelpResultModel.Reviews);
            TagIcon = SearchResultPoiViewIconProvider.GetIconForTag(model.IconKey);
            PoiViewRatingCountText = yelpResultModel.ReviewCount > 0 ? yelpResultModel.ReviewCount.ToString() : string.Empty;
            RatingsImage.Source    = null;

            m_contentContainer.ScrollToTop();

            if (yelpResultModel.ReviewCount > 0 && !string.IsNullOrEmpty(yelpResultModel.RatingsImageUrl))
            {
                RatingsImage.Source = new BitmapImage(ViewHelpers.MakeUriForImage(string.Format("{0}.png", yelpResultModel.RatingsImageUrl)));
            }

            if (string.IsNullOrEmpty(yelpResultModel.ImageUrl))
            {
                m_previewImageSpinner.Visibility          = Visibility.Hidden;
                m_imageGradient.Visibility                = Visibility.Collapsed;
                m_poiImageAndGradientContainer.Visibility = Visibility.Collapsed;
                m_detailsContainer.Height = Double.NaN;
            }
            else
            {
                m_previewImageSpinner.Visibility          = Visibility.Visible;
                m_imageGradient.Visibility                = Visibility.Visible;
                m_poiImageAndGradientContainer.Visibility = Visibility.Visible;
                m_detailsContainer.Height = 250;
            }

            RatingCountVisibility = !string.IsNullOrEmpty(yelpResultModel.RatingsImageUrl) && yelpResultModel.ReviewCount > 0 ? Visibility.Visible : Visibility.Collapsed;
            Url = yelpResultModel.WebUrl;

            if (string.IsNullOrEmpty(ReviewText))
            {
                m_reviewsIcon.Visibility = Visibility.Hidden;
            }
            else
            {
                m_reviewsIcon.Visibility = Visibility.Visible;
            }

            m_poiImageContainer.Visibility = Visibility.Visible;

            m_poiImage.Visibility = Visibility.Hidden;

            ShowAll();
        }
Beispiel #2
0
        protected override void DisplayCustomPoiInfo(Object modelObject)
        {
            m_model = modelObject as ExampleApp.SearchResultModelCLI;
            m_categoryIcon.Source = SearchResultPoiViewIconProvider.GetIconForCategory(m_model.Category);

            m_closing = false;

            Title   = m_model.Title;
            Country = m_model.Subtitle;

            ShowAll();
        }
        protected override void DisplayCustomPoiInfo(Object modelObject)
        {
            m_model          = modelObject as ExampleApp.SearchResultModelCLI;
            m_tagIcon.Source = IconProvider.GetIconForTag(m_model.IconKey, m_isInKioskMode);

            m_closing = false;

            Title   = m_model.Title;
            Country = m_model.Subtitle;

            ShowAll();
        }
        protected override void DisplayCustomPoiInfo(Object modelObject)
        {
            ExampleApp.SearchResultModelCLI model = modelObject as ExampleApp.SearchResultModelCLI;

            m_closing = false;

            TitleText = model.Title;
            HumanReadableCategoriesText = string.Join(Environment.NewLine, model.HumanReadableCategories);
            ReviewText   = model.Subtitle;
            CategoryIcon = SearchResultPoiViewIconProvider.GetIconForCategory(model.Category);

            ShowAll();
        }
        public override void DisplayPoiInfo(Object modelObject, bool isPinned)
        {
            m_model = modelObject as ExampleApp.SearchResultModelCLI;

            m_closing = false;

            Title = m_model.Title;
            Country = m_model.Subtitle;

            m_isPinned = isPinned;

            ShowAll();
        }
        public static EegeoResultModel FromResultModel(ExampleApp.SearchResultModelCLI model)
        {
            var stream = new MemoryStream(Encoding.Unicode.GetBytes(model.JsonData));

            // First time creating a poi will return "" from json data. Adding json data such as phone number and then removing it will return {} for unknown reason.
            if (model.JsonData == "")
            {
                stream = new MemoryStream(Encoding.Unicode.GetBytes("{}"));
            }

            var serializer = new DataContractJsonSerializer(typeof(EegeoResultModel));

            return((EegeoResultModel)serializer.ReadObject(stream));
        }
        public override void DisplayPoiInfo(Object modelObject, bool isPinned)
        {
            m_model = modelObject as ExampleApp.SearchResultModelCLI;
            m_categoryIcon.Source = StartupResourceLoader.GetBitmap(SearchResultCategoryMapper.GetIconImageName(m_model.Category));

            m_closing = false;

            Title   = m_model.Title;
            Country = m_model.Subtitle;

            m_isPinned = isPinned;

            ShowAll();
        }
        public override void DisplayPoiInfo(Object modelObject, bool isPinned)
        {
            ExampleApp.SearchResultModelCLI model = modelObject as ExampleApp.SearchResultModelCLI;

            m_closing = false;

            TitleText = model.Title;
            //AddressText = model.Subtitle.Replace(",", Environment.NewLine);
            //PhoneText = ;
            HumanReadableCategoriesText = string.Join(Environment.NewLine, model.HumanReadableCategories) + model.Category;
            ReviewText   = model.Subtitle;
            CategoryIcon = StartupResourceLoader.GetBitmap(SearchResultCategoryMapper.GetIconImageName(model.Category));

            m_isPinned = isPinned;
            OnPropertyChanged("IsPinned");

            ShowAll();
        }
Beispiel #9
0
        public override void DisplayPoiInfo(Object modelObject, bool isPinned)
        {
            ExampleApp.SearchResultModelCLI model = modelObject as ExampleApp.SearchResultModelCLI;

            YelpResultModel yelpResultModel = YelpResultModel.FromResultModel(model);

            m_closing = false;

            TitleText   = model.Title;
            AddressText = model.Subtitle.Replace(", ", Environment.NewLine);
            PhoneText   = yelpResultModel.Phone;
            HumanReadableCategoriesText = string.Join(Environment.NewLine, model.HumanReadableCategories);
            ReviewText             = string.Join(Environment.NewLine, yelpResultModel.Reviews);
            CategoryIcon           = StartupResourceLoader.GetBitmap(SearchResultCategoryMapper.GetIconImageName(model.Category));
            PoiViewRatingCountText = yelpResultModel.ReviewCount.ToString();
            RatingsImage           = null;

            if (yelpResultModel.ReviewCount > 0 && !string.IsNullOrEmpty(yelpResultModel.RatingsImageUrl))
            {
                RatingsImage = new BitmapImage(ViewHelpers.MakeUriForImage(string.Format("{0}.png", yelpResultModel.RatingsImageUrl)));
            }

            RatingCountVisibility = string.IsNullOrEmpty(yelpResultModel.ImageUrl) && !string.IsNullOrEmpty(yelpResultModel.RatingsImageUrl) && yelpResultModel.ReviewCount > 0 ? Visibility.Visible : Visibility.Collapsed;
            Url = yelpResultModel.WebUrl;

            if (string.IsNullOrEmpty(ReviewText))
            {
                m_reviewsIcon.Visibility = Visibility.Hidden;
            }
            else
            {
                m_reviewsIcon.Visibility = Visibility.Visible;
            }

            m_poiImage.Source = new BitmapImage(new Uri("/ExampleAppWPF;component/Assets/poi_placeholder.png", UriKind.Relative));

            m_isPinned = isPinned;
            OnPropertyChanged("IsPinned");

            ShowAll();
        }
Beispiel #10
0
        protected override void DisplayCustomPoiInfo(Object modelObject)
        {
            ExampleApp.SearchResultModelCLI model = modelObject as ExampleApp.SearchResultModelCLI;

            YelpResultModel yelpResultModel = YelpResultModel.FromResultModel(model);
            var             mainGrid        = (Application.Current.MainWindow as MainWindow).MainGrid;
            var             screenWidth     = mainGrid.ActualWidth;

            m_closing = false;

            TitleText   = model.Title;
            AddressText = model.Subtitle.Replace(", ", "," + Environment.NewLine);
            PhoneText   = yelpResultModel.Phone;
            HumanReadableCategoriesText = string.Join(Environment.NewLine, model.HumanReadableCategories);
            ReviewText             = string.Join(Environment.NewLine, yelpResultModel.Reviews);
            CategoryIcon           = SearchResultPoiViewIconProvider.GetIconForCategory(model.Category);
            PoiViewRatingCountText = yelpResultModel.ReviewCount > 0 ? yelpResultModel.ReviewCount.ToString() : string.Empty;
            RatingsImage           = null;

            if (yelpResultModel.ReviewCount > 0 && !string.IsNullOrEmpty(yelpResultModel.RatingsImageUrl))
            {
                RatingsImage = new BitmapImage(ViewHelpers.MakeUriForImage(string.Format("{0}.png", yelpResultModel.RatingsImageUrl)));
            }

            RatingCountVisibility = !string.IsNullOrEmpty(yelpResultModel.RatingsImageUrl) && yelpResultModel.ReviewCount > 0 ? Visibility.Visible : Visibility.Collapsed;
            Url = yelpResultModel.WebUrl;

            if (string.IsNullOrEmpty(ReviewText))
            {
                m_reviewsIcon.Visibility = Visibility.Hidden;
            }
            else
            {
                m_reviewsIcon.Visibility = Visibility.Visible;
            }

            m_poiImage.Source = new BitmapImage(new Uri("/ExampleAppWPF;component/Assets/poi_placeholder.png", UriKind.Relative));

            ShowAll();
        }
        public static YelpResultModel FromResultModel(ExampleApp.SearchResultModelCLI model)
        {
            MemoryStream stream = new MemoryStream(Encoding.Unicode.GetBytes(model.JsonData));
            DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(YelpResultModel));

            stream.Position = 0;
            YelpResultModel result = (YelpResultModel)serializer.ReadObject(stream);

            string ratingString = result.m_rating.ToString();

            if (!ratingString.Contains("."))
            {
                ratingString += ".0";
            }

            ratingString = ratingString.Replace('.', '_');

            result.RatingsImageUrl = "stars_" + ratingString;

            result.Reviews = new List <string>();
            result.Reviews.Add(result.m_snippetText);

            return(result);
        }
Beispiel #12
0
        protected override void DisplayCustomPoiInfo(Object modelObject)
        {
            ExampleApp.SearchResultModelCLI model = modelObject as ExampleApp.SearchResultModelCLI;

            EegeoResultModel eegeoResultModel = EegeoResultModel.FromResultModel(model);

            m_closing            = false;
            m_webBrowserSelected = false;
            m_titlesGrid.RowDefinitions[1].Height = new GridLength(1, GridUnitType.Star);
            m_poiImageContainer.Height            = DEFAULT_WEB_VIEW_HEIGHT;
            bool webViewUrlIsValid = false;

            m_poiImageContainer.Visibility = Visibility.Visible;
            m_poiImage.Visibility          = Visibility.Collapsed;
            m_webBrowser.Visibility        = Visibility.Visible;
            m_poiImageDivider.Visibility   = Visibility.Visible;

            m_contentContainer.ScrollToTop();

            if (eegeoResultModel.WebViewUrl != null)
            {
                m_webBrowserSelected = true;
                Uri hyperlink;
                webViewUrlIsValid = Uri.TryCreate(eegeoResultModel.WebViewUrl, UriKind.Absolute, out hyperlink) &&
                                    (hyperlink.Scheme == Uri.UriSchemeHttp || hyperlink.Scheme == Uri.UriSchemeHttps);

                if (webViewUrlIsValid)
                {
                    Uri url = new Uri(eegeoResultModel.WebViewUrl);
                    m_webBrowser.Source = url;

                    if (eegeoResultModel.WebViewHeight != 0)
                    {
                        m_webBrowserOriginalHeight = eegeoResultModel.WebViewHeight;
                        m_poiImageContainer.Height = eegeoResultModel.WebViewHeight;

                        if (eegeoResultModel.WebViewHeight > MAX_WEB_VIEW_HEIGHT)
                        {
                            m_webBrowserOriginalHeight = MAX_WEB_VIEW_HEIGHT;
                            m_poiImageContainer.Height = MAX_WEB_VIEW_HEIGHT;
                        }
                    }
                    else
                    {
                        m_webBrowserOriginalHeight = DEFAULT_WEB_VIEW_HEIGHT;
                        m_poiImageContainer.Height = DEFAULT_WEB_VIEW_HEIGHT;
                    }
                }
                else
                {
                    HandleNoWebView(eegeoResultModel);
                }
            }
            else
            {
                HandleNoWebView(eegeoResultModel);
            }

            if (!m_webBrowserSelected)
            {
                Uri uri;
                if ((eegeoResultModel.ImageUrl != null || webViewUrlIsValid) && TryCreateWebLink(eegeoResultModel.ImageUrl, out uri))
                {
                    m_poiImageDivider.Visibility = Visibility.Visible;
                }
                else
                {
                    m_poiImageContainer.Visibility = Visibility.Collapsed;
                    m_poiImageDivider.Visibility   = Visibility.Collapsed;
                }
            }

            if (eegeoResultModel.Phone != null)
            {
                PhoneText = eegeoResultModel.Phone;
                m_phoneDetailsContainer.Visibility = Visibility.Visible;
            }
            else
            {
                m_phoneDetailsContainer.Visibility = Visibility.Collapsed;
            }

            if (eegeoResultModel.Address != null)
            {
                AddressText = eegeoResultModel.Address.Replace(", ", Environment.NewLine);
                m_addressDetailsContainer.Visibility = Visibility.Visible;
            }
            else
            {
                AddressText = null;
                m_addressDetailsContainer.Visibility = Visibility.Collapsed;
            }

            if (eegeoResultModel.WebUrl != null)
            {
                WebAddressText = eegeoResultModel.WebUrl;
                m_webDetailsContainer.Visibility = Visibility.Visible;
            }
            else
            {
                m_webDetailsContainer.Visibility = Visibility.Collapsed;
            }

            if (eegeoResultModel.Facebook != null)
            {
                m_facebookIcon.Visibility = Visibility.Visible;
                m_facebookText            = eegeoResultModel.Facebook;
            }
            else
            {
                m_facebookIcon.Visibility = Visibility.Collapsed;
            }

            if (eegeoResultModel.Twitter != null)
            {
                m_twitterIcon.Visibility = Visibility.Visible;
                m_twitterText            = eegeoResultModel.Twitter;
            }
            else
            {
                m_twitterIcon.Visibility = Visibility.Collapsed;
            }

            if (eegeoResultModel.Email != null)
            {
                m_emailIcon.Visibility = Visibility.Visible;
                m_emailText            = eegeoResultModel.Email;
            }
            else
            {
                m_emailIcon.Visibility = Visibility.Collapsed;
            }

            bool shouldCollapseDivider = eegeoResultModel.Facebook == null &&
                                         eegeoResultModel.Twitter == null &&
                                         eegeoResultModel.Email == null &&
                                         eegeoResultModel.Address == null &&
                                         eegeoResultModel.Phone == null &&
                                         eegeoResultModel.WebUrl == null;

            if (shouldCollapseDivider)
            {
                m_detailsDivider.Visibility = Visibility.Collapsed;
            }
            else
            {
                m_detailsDivider.Visibility = Visibility.Visible;
            }

            if (eegeoResultModel.Facebook == null && eegeoResultModel.Twitter == null && eegeoResultModel.Email == null)
            {
                m_socialLinkIconsContainer.Visibility = Visibility.Collapsed;
            }
            else
            {
                m_socialLinkIconsContainer.Visibility = Visibility.Visible;
            }

            m_linkedInIcon.Visibility = Visibility.Collapsed;
            m_slackIcon.Visibility    = Visibility.Collapsed;
            TitleText = model.Title;
            if (model.Subtitle != "")
            {
                SubTitleText = model.Subtitle;
            }
            else
            {
                m_titlesGrid.RowDefinitions[1].Height = new GridLength(0);
            }

            if (model.HumanReadableTags != null)
            {
                HumanReadableTagsText    = string.Join(", ", model.HumanReadableTags);
                m_tagsDivider.Visibility = Visibility.Visible;
            }
            else
            {
                m_tagsDivider.Visibility = Visibility.Collapsed;
            }

            if (eegeoResultModel.Description != null)
            {
                DescriptionText = eegeoResultModel.Description;
                m_descriptionContainer.Visibility = Visibility.Visible;
            }
            else
            {
                m_descriptionContainer.Visibility = Visibility.Collapsed;
            }

            TagIcon = SearchResultPoiViewIconProvider.GetIconForTag(model.IconKey);

            ShowAll();
        }