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();
            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)
     });
 }