mirror of
https://github.com/ZuneDev/ZuneShell.dll.git
synced 2026-07-27 13:11:51 -07:00
74 lines
3.0 KiB
C#
74 lines
3.0 KiB
C#
// Decompiled with JetBrains decompiler
|
|
// Type: ZuneXml.CatalogPrefixSearchQueryHelper
|
|
// Assembly: ZuneShell, Version=4.7.0.0, Culture=neutral, PublicKeyToken=ddd0da4d3e678217
|
|
// MVID: FC8028F3-A47B-4FB4-B35B-11D1752D8264
|
|
// Assembly location: C:\Program Files\Zune\ZuneShell.dll
|
|
|
|
using Microsoft.Zune.Util;
|
|
using System;
|
|
using System.Text;
|
|
using ZuneUI;
|
|
|
|
namespace ZuneXml
|
|
{
|
|
internal class CatalogPrefixSearchQueryHelper : CatalogServiceQueryHelper
|
|
{
|
|
internal static ZuneServiceQueryHelper ConstructPrefixSearchQueryHelper(
|
|
ZuneServiceQuery query)
|
|
{
|
|
return new CatalogPrefixSearchQueryHelper(query);
|
|
}
|
|
|
|
internal CatalogPrefixSearchQueryHelper(ZuneServiceQuery query)
|
|
: base(query)
|
|
{
|
|
}
|
|
|
|
internal override string GetResourceUri()
|
|
{
|
|
string property1 = (string)this.Query.GetProperty("Prefix");
|
|
if (!Search.Instance.IsValidKeyword(property1))
|
|
return null;
|
|
string endPointUri = Microsoft.Zune.Shell.ZuneApplication.Service2.GetEndPointUri(this._endPoint);
|
|
StringBuilder stringBuilder = new StringBuilder(128);
|
|
stringBuilder.Append(endPointUri);
|
|
stringBuilder.Append("/?prefix=");
|
|
stringBuilder.Append(Uri.EscapeDataString(property1));
|
|
if ((bool)this.Query.GetProperty("OnlyIncludeZuneRadioArtists"))
|
|
{
|
|
if (FeatureEnablement.IsFeatureEnabled(Features.eMusic))
|
|
stringBuilder.Append("&includeZuneRadioArtists=true");
|
|
}
|
|
else
|
|
{
|
|
if (FeatureEnablement.IsFeatureEnabled(Features.eMusic))
|
|
{
|
|
stringBuilder.Append("&includeTracks=true");
|
|
stringBuilder.Append("&includeAlbums=true");
|
|
stringBuilder.Append("&includeArtists=true");
|
|
}
|
|
if (FeatureEnablement.IsFeatureEnabled(Features.eVideos))
|
|
{
|
|
stringBuilder.Append("&includeMovies=true");
|
|
stringBuilder.Append("&includeVideoShorts=true");
|
|
}
|
|
if (FeatureEnablement.IsFeatureEnabled(Features.eTV))
|
|
stringBuilder.Append("&includeTVSeries=true");
|
|
if (FeatureEnablement.IsFeatureEnabled(Features.eMusicVideos))
|
|
stringBuilder.Append("&includeMusicVideos=true");
|
|
if (FeatureEnablement.IsFeatureEnabled(Features.ePodcasts))
|
|
stringBuilder.Append("&includePodcasts=true");
|
|
if (FeatureEnablement.IsFeatureEnabled(Features.eApps))
|
|
stringBuilder.Append("&includeApplications=true");
|
|
}
|
|
string property2 = (string)this.Query.GetProperty("ClientType");
|
|
if (!string.IsNullOrEmpty(property2))
|
|
{
|
|
stringBuilder.Append("&clientType=");
|
|
stringBuilder.Append(property2);
|
|
}
|
|
return stringBuilder.ToString();
|
|
}
|
|
}
|
|
}
|