示例#1
0
        private static void DispatchSearch(MarketplaceContent content, string context)
        {
            string stringValue;

            switch (content)
            {
            case MarketplaceContent.Applications:
            {
                stringValue = "application";
                break;
            }

            case MarketplaceContent.Music:
            {
                stringValue = "music";
                break;
            }

            default:
            {
                throw new ArgumentOutOfRangeException("content");
            }
            }
            ParameterPropertyBag parameterPropertyBag = new ParameterPropertyBag();

            parameterPropertyBag.CreateProperty("SearchHint").StringValue = stringValue;
            parameterPropertyBag.CreateProperty("SearchTerm").StringValue = context;
            ChooserHelper.Navigate(MeuxHelper.MakeUri("MarketplaceSearch"), parameterPropertyBag);
        }
示例#2
0
        private static void DispatchBrowse(MarketplaceContent content)
        {
            string relative;

            switch (content)
            {
            case MarketplaceContent.Applications:
            {
                relative = "AppMarketplaceHub";
                break;
            }

            case MarketplaceContent.Music:
            {
                relative = "MusicMarketplaceHub";
                break;
            }

            default:
            {
                throw new ArgumentOutOfRangeException("content");
            }
            }
            ChooserHelper.Navigate(MeuxHelper.MakeUri(relative), new ParameterPropertyBag());
        }
示例#3
0
 public static void Show(MarketplaceContent content, MarketplaceOperation operation, string context)
 {
     if (!ChooserHelper.NavigationInProgressGuard(delegate
     {
         MarketplaceLauncher.Show(content, operation, context);
     }
                                                  ))
     {
         return;
     }
     if (operation == MarketplaceOperation.Open)
     {
         if (!string.IsNullOrEmpty(context))
         {
             throw new ArgumentException("context");
         }
         MarketplaceLauncher.DispatchBrowse(content);
         return;
     }
     else
     {
         if (operation == MarketplaceOperation.Search)
         {
             if (context == null)
             {
                 throw new ArgumentNullException("context");
             }
             if (context.Length == 0)
             {
                 throw new ArgumentException("context");
             }
             MarketplaceLauncher.DispatchSearch(content, context);
             return;
         }
         else
         {
             if (operation != MarketplaceOperation.ReviewItem && operation != MarketplaceOperation.ViewDetails)
             {
                 throw new ArgumentOutOfRangeException("operation");
             }
             if (content != MarketplaceContent.Applications)
             {
                 throw new ArgumentException("content");
             }
             string relative;
             if (operation == MarketplaceOperation.ReviewItem)
             {
                 if (context != null)
                 {
                     throw new ArgumentException("context");
                 }
                 context  = new HostInfo().ProductId;
                 relative = "AppReviews";
             }
             else
             {
                 if (context == null)
                 {
                     context = new HostInfo().ProductId;
                 }
                 else
                 {
                     context = new Guid(context).ToString();
                 }
                 relative = "AppDetails";
             }
             ParameterPropertyBag parameterPropertyBag = new ParameterPropertyBag();
             parameterPropertyBag.CreateProperty("id").StringValue = context;
             ChooserHelper.Navigate(MeuxHelper.MakeUri(relative), parameterPropertyBag);
             return;
         }
     }
 }
示例#4
0
 public static void Show(MarketplaceContent content, MarketplaceOperation operation)
 {
     MarketplaceLauncher.Show(content, operation, null);
 }