public static XboxTitleInfo FromTitleId(uint titleId, XboxLocale locale) { var ret = new XboxTitleInfo { TitleId = string.Format("{0:X08}", titleId), Locale = locale.ToString() }; var wc = new WebClient(); var url = string.Format( // "http://catalog.xboxlive.com/Catalog/Catalog.asmx/Query?methodName=FindGames&Names=Locale&Values={0}&Names=LegalLocale&Values={0}&Names=Store&Values=1&Names=PageSize&Values=100&Names=PageNum&Values=1&Names=DetailView&Values=5&Names=OfferFilterLevel&Values=1&Names=MediaIds&Values=66acd000-77fe-1000-9115-d802{1:X8}&Names=UserTypes&Values=2&Names=MediaTypes&Values=1&Names=MediaTypes&Values=21&Names=MediaTypes&Values=23&Names=MediaTypes&Values=37&Names=MediaTypes&Values=46", "http://marketplace.xbox.com/{0}/Product/66acd000-77fe-1000-9115-d802{1:X8}", locale.Locale, titleId); XboxAssetDownloader.SendStatusChanged("Downloading title/asset information..."); // using(var stream = new MemoryStream(wc.DownloadData(url))) // ParseXml(stream, ret); ParseHtml(url, ret); return(ret); }
public XboxTitleInfo[] GetTitleInfo(uint titleId, XboxLocale locale) { return(new[] { XboxTitleInfo.FromTitleId(titleId, locale) }); }
private void GetAssetsOnline(object sender, RoutedEventArgs e) { var context = Ts.TaskScheduler.FromCurrentSynchronizationContext(); var titleItem = FtpAssetsBox.SelectedItem as AuroraDbManager.ContentItem; var loc_str = Settings.Default.LocaleMarketName; var screenNum = Settings.Default.NumScreens; int screenCount = 0; var loc = new XboxLocale(loc_str, loc_str); if(titleItem!= null) { _main.BusyIndicator.Visibility= Visibility.Visible; Ts.Task.Factory.StartNew(() => { XboxTitleInfo _titleResult = _xboxAssetDownloader.GetTitleInfoSingle(titleItem.TitleIdNumber, loc); var unityCovers = XboxUnity.GetUnityCoverInfo(titleItem.TitleId); if(unityCovers.Count() > 0) { var cover = unityCovers.FirstOrDefault(p => p._unityResponse.Official == true); if(cover!= null) { _boxart.Load(cover.GetCover()); } } Ts.Parallel.ForEach(_titleResult.AssetsInfo, (ast) => { if(!ast.HaveAsset) { if(ast.AssetType == XboxTitleInfo.XboxAssetType.Screenshot && screenCount >= screenNum) { return; } var XboxAsset = ast.GetAsset(); // var assetFile = new AuroraAsset.AssetFile(); switch(ast.AssetType) { case XboxTitleInfo.XboxAssetType.Icon: _iconBanner.Load(XboxAsset.Image, true); break; case XboxTitleInfo.XboxAssetType.Banner: _iconBanner.Load(XboxAsset.Image, false); break; case XboxTitleInfo.XboxAssetType.Background: _background.Load(XboxAsset.Image); break; case XboxTitleInfo.XboxAssetType.Screenshot: _screenshots.Load(XboxAsset.Image, false); screenCount++; break; default: break; } } }); }).ContinueWith((t) => { _main.BusyIndicator.Visibility= Visibility.Collapsed; }, context); } }
public XboxTitleInfo GetTitleInfoSingle(int titleId, XboxLocale locale) { return GetTitleInfoSingle(Convert.ToUInt32(titleId), locale); }
public XboxTitleInfo GetTitleInfoSingle(uint titleId, XboxLocale locale) { return XboxTitleInfo.FromTitleId(titleId, locale); }
public XboxTitleInfo[] GetTitleInfo(string keywords, XboxLocale locale) { var url = string.Format("http://marketplace.xbox.com/{0}/SiteSearch/xbox/?query={1}&PageSize=5", locale.Locale, HttpUtility.UrlEncode(keywords)); var wc = new WebClient(); wc.Proxy = null; wc.Headers.Add(HttpRequestHeader.UserAgent, App.UserAgent); var ret = new List<XboxTitleInfo>(); using(var stream = wc.OpenRead(url)) { if(stream == null) return ret.ToArray(); var res = (XboxKeywordResponse)_serializer.ReadObject(stream); ret.AddRange(from entry in res.Entries where entry.DetailsUrl != null let tid = entry.DetailsUrl.IndexOf("d802", StringComparison.Ordinal) where tid > 0 && entry.DetailsUrl.Length >= tid + 12 select uint.Parse(entry.DetailsUrl.Substring(tid + 4, 8), NumberStyles.HexNumber) into titleId select XboxTitleInfo.FromTitleId(titleId, locale)); } return ret.ToArray(); }
public XboxTitleInfo[] GetTitleInfo(uint titleId, XboxLocale locale) { return new[] { XboxTitleInfo.FromTitleId(titleId, locale) }; }
public static XboxTitleInfo FromTitleId(uint titleId, XboxLocale locale) { var ret = new XboxTitleInfo { TitleId = string.Format("{0:X08}", titleId), Locale = locale.ToString() }; var wc = new WebClient(); wc.Proxy = null; wc.Headers.Add(HttpRequestHeader.UserAgent, App.UserAgent); var url = string.Format( "http://catalog.xboxlive.com/Catalog/Catalog.asmx/Query?methodName=FindGames&Names=Locale&Values={0}&Names=LegalLocale&Values={0}&Names=Store&Values=1&Names=PageSize&Values=100&Names=PageNum&Values=1&Names=DetailView&Values=5&Names=OfferFilterLevel&Values=1&Names=MediaIds&Values=66acd000-77fe-1000-9115-d802{1:X8}&Names=UserTypes&Values=2&Names=MediaTypes&Values=1&Names=MediaTypes&Values=21&Names=MediaTypes&Values=23&Names=MediaTypes&Values=37&Names=MediaTypes&Values=46", locale.Locale, titleId); XboxAssetDownloader.SendStatusChanged("Downloading title/asset information..."); using(var stream = new MemoryStream(wc.DownloadData(url))) LocalOperations.ParseXml(stream, ret); return ret; }