mirror of
https://github.com/ZuneDev/ZuneShell.dll.git
synced 2026-07-27 13:11:51 -07:00
101 lines
4.0 KiB
C#
101 lines
4.0 KiB
C#
// Decompiled with JetBrains decompiler
|
|
// Type: ZuneXml.App
|
|
// 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.Iris;
|
|
using System;
|
|
|
|
namespace ZuneXml
|
|
{
|
|
internal class App : MiniMedia
|
|
{
|
|
internal double Price
|
|
{
|
|
get
|
|
{
|
|
Right right = this.SelectBestOfferRight();
|
|
return right == null ? 0.0 : right.CurrencyPrice;
|
|
}
|
|
}
|
|
|
|
internal string DisplayPrice => this.SelectBestOfferRight()?.DisplayPrice;
|
|
|
|
internal string DisplayPriceFull => this.Rights.GetOfferRight(MediaRightsEnum.Purchase, ClientTypeEnum.WindowsPhone, PriceTypeEnum.Currency)?.DisplayPrice;
|
|
|
|
internal string DisplayPriceTrial => this.Rights.GetOfferRight(MediaRightsEnum.PurchaseTrial, ClientTypeEnum.WindowsPhone, PriceTypeEnum.Currency)?.DisplayPrice;
|
|
|
|
internal bool CanDownload => this.Rights.HasRights(MediaRightsEnum.Purchase, ClientTypeEnum.Zune) || this.Rights.HasRights(MediaRightsEnum.Download, ClientTypeEnum.Zune);
|
|
|
|
internal bool CanPurchase => this.CanPurchaseFull || this.CanPurchaseTrial;
|
|
|
|
internal bool CanPurchaseFull => this.Rights.HasOfferRights(MediaRightsEnum.Purchase, ClientTypeEnum.WindowsPhone, PriceTypeEnum.Currency);
|
|
|
|
internal bool CanPurchaseTrial => this.Rights.HasOfferRights(MediaRightsEnum.PurchaseTrial, ClientTypeEnum.WindowsPhone, PriceTypeEnum.Currency);
|
|
|
|
private Right SelectBestOfferRight() => this.Rights.GetOfferRight(MediaRightsEnum.Purchase, ClientTypeEnum.WindowsPhone, PriceTypeEnum.Currency) ?? this.Rights.GetOfferRight(MediaRightsEnum.PurchaseTrial, ClientTypeEnum.WindowsPhone, PriceTypeEnum.Currency);
|
|
|
|
internal static XmlDataProviderObject ConstructAppObject(
|
|
DataProviderQuery owner,
|
|
object objectTypeCookie)
|
|
{
|
|
return new App(owner, objectTypeCookie);
|
|
}
|
|
|
|
internal App(DataProviderQuery owner, object resultTypeCookie)
|
|
: base(owner, resultTypeCookie)
|
|
{
|
|
}
|
|
|
|
internal string SortTitle => (string)base.GetProperty(nameof(SortTitle));
|
|
|
|
internal Guid ImageId => (Guid)base.GetProperty(nameof(ImageId));
|
|
|
|
internal DateTime ReleaseDate => (DateTime)base.GetProperty(nameof(ReleaseDate));
|
|
|
|
internal string GenreName => (string)base.GetProperty(nameof(GenreName));
|
|
|
|
internal string Version => (string)base.GetProperty(nameof(Version));
|
|
|
|
internal string Author => (string)base.GetProperty(nameof(Author));
|
|
|
|
internal string Publisher => (string)base.GetProperty(nameof(Publisher));
|
|
|
|
internal string ShortDescription => (string)base.GetProperty(nameof(ShortDescription));
|
|
|
|
internal float AverageRating => (float)base.GetProperty(nameof(AverageRating));
|
|
|
|
internal AppMediaRights Rights => (AppMediaRights)base.GetProperty(nameof(Rights));
|
|
|
|
internal override Guid Id => (Guid)base.GetProperty(nameof(Id));
|
|
|
|
internal override string Title => (string)base.GetProperty(nameof(Title));
|
|
|
|
public override object GetProperty(string propertyName)
|
|
{
|
|
switch (propertyName)
|
|
{
|
|
case "Price":
|
|
return Price;
|
|
case "DisplayPrice":
|
|
return DisplayPrice;
|
|
case "DisplayPriceFull":
|
|
return DisplayPriceFull;
|
|
case "DisplayPriceTrial":
|
|
return DisplayPriceTrial;
|
|
case "CanPurchase":
|
|
return CanPurchase;
|
|
case "CanPurchaseFull":
|
|
return CanPurchaseFull;
|
|
case "CanPurchaseTrial":
|
|
return CanPurchaseTrial;
|
|
case "CanDownload":
|
|
return CanDownload;
|
|
default:
|
|
return base.GetProperty(propertyName);
|
|
}
|
|
}
|
|
}
|
|
}
|