Files
ZuneShell.dll/ZuneDBApi/Microsoft/Zune/Service/VideoOffer.cs
T

144 lines
3.1 KiB
C#
Raw Normal View History

2021-11-11 11:18:46 -06:00
using System;
using System.Runtime.InteropServices;
using System.Xml;
using Microsoft.Iris;
namespace Microsoft.Zune.Service
{
public class VideoOffer : Offer
{
private string m_previewImageUrl;
private string m_productionCompany;
private Image m_previewImage;
private string m_genre;
private string m_seriesTitle;
private int m_seasonNumber;
private int m_episodeNumber;
private int m_releaseYear;
private bool m_isHD;
private bool m_isRental;
private bool m_isStream;
private bool m_isMusicVideo;
private bool m_isSeasonPurchase;
private DateTime? m_expirationDate;
private Guid m_albumId;
public DateTime? ExpirationDate => m_expirationDate;
public bool IsSeasonPurchase
{
[return: MarshalAs(UnmanagedType.U1)]
get
{
return m_isSeasonPurchase;
}
}
public bool IsMusicVideo
{
[return: MarshalAs(UnmanagedType.U1)]
get
{
return m_isMusicVideo;
}
}
public bool IsStream
{
[return: MarshalAs(UnmanagedType.U1)]
get
{
return m_isStream;
}
}
public bool IsRental
{
[return: MarshalAs(UnmanagedType.U1)]
get
{
return m_isRental;
}
}
public bool IsHD
{
[return: MarshalAs(UnmanagedType.U1)]
get
{
return m_isHD;
}
}
public string Genre => m_genre;
public int EpisodeNumber => m_episodeNumber;
public int SeasonNumber => m_seasonNumber;
public string SeriesTitle => m_seriesTitle;
public int ReleaseYear => m_releaseYear;
public string ProductionCompany => m_productionCompany;
public Image PreviewImage
{
get
{
2021-11-22 00:09:47 -06:00
if (m_previewImage == null && m_previewImageUrl != null)
2021-11-11 11:18:46 -06:00
{
m_previewImage = new Image(m_previewImageUrl);
}
return m_previewImage;
}
}
public Guid AlbumId => m_albumId;
public VideoOffer(Guid id, string title, string seriesTitle, int seasonNumber, int episodeNumber, string artist, Guid albumId, string genre, int releaseYear, string previewImageUrl, string productionCompany, PriceInfo priceInfo, [MarshalAs(UnmanagedType.U1)] bool isHD, [MarshalAs(UnmanagedType.U1)] bool isRental, [MarshalAs(UnmanagedType.U1)] bool isStream, [MarshalAs(UnmanagedType.U1)] bool isMusicVideo, [MarshalAs(UnmanagedType.U1)] bool isSeasonPurchase, [MarshalAs(UnmanagedType.U1)] bool previouslyPurchased, [MarshalAs(UnmanagedType.U1)] bool inCollection, string expirationDate)
: base(id, title, artist, priceInfo, isMP3: false, previouslyPurchased, inCollection, null)
{
m_previewImageUrl = previewImageUrl;
m_productionCompany = productionCompany;
m_previewImage = null;
m_genre = genre;
m_seriesTitle = seriesTitle;
m_seasonNumber = seasonNumber;
m_episodeNumber = episodeNumber;
m_releaseYear = releaseYear;
m_isHD = isHD;
m_isRental = isRental;
m_isStream = isStream;
m_isMusicVideo = isMusicVideo;
m_isSeasonPurchase = isSeasonPurchase;
m_albumId = albumId;
if (!string.IsNullOrEmpty(expirationDate))
{
try
{
DateTime value = XmlConvert.ToDateTime(expirationDate, XmlDateTimeSerializationMode.Utc);
DateTime? dateTime = (m_expirationDate = value);
}
catch (FormatException)
{
}
}
}
}
}