示例#1
0
        public static void Populate(object dataContainer, int libraryId)
        {
            DataProviderObject dataProviderObject = (DataProviderObject)dataContainer;

            object[] fieldValues = new object[15]
            {
                string.Empty,
                TimeSpan.Zero,
                0,
                0,
                string.Empty,
                string.Empty,
                string.Empty,
                0,
                0,
                string.Empty,
                0L,
                string.Empty,
                0,
                0,
                Guid.Empty
            };
            ZuneLibrary.GetFieldValues(libraryId, EListType.eVideoList, ColumnIndexes.Length, ColumnIndexes, fieldValues, PlaylistManager.Instance.QueryContext);
            for (int index = 0; index < ColumnIndexes.Length; ++index)
            {
                if (ColumnIndexes[index] == 177)
                {
                    dataProviderObject.SetProperty("MediaType", MediaDescriptions.Map((MediaType)fieldValues[index]));
                }
                dataProviderObject.SetProperty(DataProperties[index], fieldValues[index]);
            }
        }
示例#2
0
        public int Compare(object x, object y)
        {
            DataProviderObject dataProviderObject1 = x as DataProviderObject;
            DataProviderObject dataProviderObject2 = y as DataProviderObject;

            return(dataProviderObject1 != null && dataProviderObject2 != null ? ((DateTime)dataProviderObject1.GetProperty("ReleaseDate")).Year.CompareTo(((DateTime)dataProviderObject2.GetProperty("ReleaseDate")).Year) : 1);
        }
        public int Compare(object x, object y)
        {
            DataProviderObject dataProviderObject1 = x as DataProviderObject;
            DataProviderObject dataProviderObject2 = y as DataProviderObject;

            if (dataProviderObject1 == null || dataProviderObject2 == null)
            {
                return(1);
            }
            int property1 = (int)dataProviderObject1.GetProperty("CategoryId");
            int property2 = (int)dataProviderObject2.GetProperty("CategoryId");
            int num1      = property1.CompareTo(property2);

            if (num1 != 0)
            {
                return(num1);
            }
            if (property1 != 5)
            {
                return(0);
            }
            int num2 = string.Compare((string)dataProviderObject1.GetProperty("SeriesTitle"), (string)dataProviderObject2.GetProperty("SeriesTitle"));

            return(num2 != 0 ? num2 : ((int)dataProviderObject1.GetProperty("SeasonNumber")).CompareTo((int)dataProviderObject2.GetProperty("SeasonNumber")));
        }
 public EpisodeDownloadCommand(IModelItem owner, DataProviderObject episode)
     : base(owner)
 {
     this.m_episode      = episode;
     this.m_downloadType = (EItemDownloadType)this.m_episode.GetProperty("DownloadType");
     this.TaskId         = (string)this.m_episode.GetProperty("EnclosureUrl");
 }
 public static void DownloadEpisode(DataProviderObject episode)
 {
     if (episode is SubscriptionDataProviderItem)
     {
         ((SubscriptionDataProviderItem)episode).SaveToLibrary();
     }
     DownloadEpisode((int)episode.GetProperty("SeriesId"), (int)episode.GetProperty("LibraryId"));
 }
示例#6
0
 public static void SetOrdinal(DataProviderObject item, int ordinal)
 {
     if (!(item is Track))
     {
         return;
     }
     ((Track)item).Ordinal = ordinal;
 }
示例#7
0
 public static ProfileCardData MergeWithFriends(
     DataProviderObject profile,
     IList friends)
 {
     return(MergeWithFriends(new object[1]
     {
         profile
     }, friends, false)[0] as ProfileCardData);
 }
        public static MixResultProfile CreateInstance(
            DataProviderObject dataProviderObject,
            string reason)
        {
            MixResultProfile mixResultProfile = new MixResultProfile();
            Guid?            property         = (Guid?)dataProviderObject.GetProperty("UserGuid");

            mixResultProfile.Initialize(MixResultType.Profile, reason, (string)(dataProviderObject.GetProperty("ZuneTag") ?? ""), "", property.HasValue ? property.Value.ToString() : "", (string)(dataProviderObject.GetProperty("TileUrl") ?? ""), Guid.Empty, dataProviderObject);
            return(mixResultProfile);
        }
示例#9
0
        public static MixResultAlbum CreateInstance(
            DataProviderObject dataProviderObject,
            string reason)
        {
            MixResultAlbum mixResultAlbum = new MixResultAlbum();
            Album          album          = (Album)dataProviderObject;
            MiniArtist     primaryArtist  = album.PrimaryArtist;
            string         secondaryText  = primaryArtist != null ? primaryArtist.Title : string.Empty;

            mixResultAlbum.Initialize(MixResultType.Album, reason, album.Title ?? string.Empty, secondaryText, album.Id.ToString(), string.Empty, album.ImageId, null);
            return(mixResultAlbum);
        }
示例#10
0
        public static Attachment CreateAttachment(object obj)
        {
            DataProviderObject dataProviderObject = obj as DataProviderObject;
            MediaType          mediaType          = MediaType.Undefined;
            Guid          zuneMediaId             = Guid.Empty;
            VideoCategory videoCategory           = VideoCategory.Other;
            string        title = null;
            string        url   = null;
            int           num   = -1;

            if (dataProviderObject != null)
            {
                object property1 = dataProviderObject.GetProperty("ZuneMediaId");
                if (property1 != null)
                {
                    zuneMediaId = (Guid)property1;
                }
                if (dataProviderObject.GetProperty("Type") is string property)
                {
                    mediaType = ZuneShell.MapStringToMediaType(property);
                }
                object property3 = dataProviderObject.GetProperty("LibraryId");
                if (property3 != null)
                {
                    num = (int)property3;
                }
                object property4 = dataProviderObject.GetProperty("CategoryId");
                if (property4 != null)
                {
                    videoCategory = (VideoCategory)property4;
                }
                title = dataProviderObject.GetProperty("Title") as string;
                switch (mediaType)
                {
                case MediaType.PodcastEpisode:
                    object property5 = dataProviderObject.GetProperty("SeriesId");
                    if (property5 != null)
                    {
                        num = (int)property5;
                    }
                    zuneMediaId = PodcastLibraryPage.GetZuneMediaId(num);
                    mediaType   = MediaType.Podcast;
                    title       = dataProviderObject.GetProperty("SeriesTitle") as string;
                    url         = dataProviderObject.GetProperty("SeriesFeedUrl") as string;
                    break;

                case MediaType.Podcast:
                    url = dataProviderObject.GetProperty("FeedUrl") as string;
                    break;
                }
            }
            return(CreateAttachment(zuneMediaId, mediaType, num, title, url, videoCategory, MovieType.Other));
        }
示例#11
0
        public static void Populate(object dataContainer, int libraryId)
        {
            DataProviderObject dataProviderObject = (DataProviderObject)dataContainer;

            object[] fieldValues   = (object[])DefaultFieldValues.Clone();
            bool[]   isEmptyValues = new bool[fieldValues.Length];
            ZuneLibrary.GetFieldValues(libraryId, EListType.eAppList, ColumnIndices.Length, ColumnIndices, fieldValues, isEmptyValues, PlaylistManager.Instance.QueryContext);
            for (int index = 0; index < ColumnIndices.Length; ++index)
            {
                dataProviderObject.SetProperty(DataProperties[index], fieldValues[index]);
            }
        }
示例#12
0
        public static MixResultArtist CreateInstance(
            DataProviderObject dataProviderObject,
            string reason)
        {
            MixResultArtist mixResultArtist = new MixResultArtist();

            if (dataProviderObject.TypeName == "ArtistData")
            {
                dataProviderObject = (DataProviderObject)dataProviderObject.GetProperty("Item");
            }
            Artist artist = (Artist)dataProviderObject;

            mixResultArtist.Initialize(MixResultType.Artist, reason, artist.Title ?? string.Empty, string.Empty, artist.Id.ToString(), string.Empty, artist.ImageId, null);
            return(mixResultArtist);
        }
示例#13
0
        public static MixResult CreateInstance(
            MixResultType resultType,
            string reason,
            string primaryText,
            string secondaryText,
            string id,
            string imageUri,
            Guid imageId,
            DataProviderObject baseObject)
        {
            MixResult mixResult = new MixResult();

            mixResult.Initialize(resultType, reason, primaryText, secondaryText, id, imageUri, imageId, baseObject);
            return(mixResult);
        }
示例#14
0
        internal static int GetItemPriority(DataProviderObject item, int startPriority)
        {
            int   num   = startPriority;
            Album album = (Album)item;

            if (!album.Actionable)
            {
                num += NonActionablePriorityBump;
            }
            if ((album.Title ?? string.Empty).ToLowerInvariant().Contains("karaoke"))
            {
                num += KaraokePriorityBump;
            }
            return(num);
        }
示例#15
0
        public static EServiceMediaType MapMarketplaceObjectToServiceMediaType(
            DataProviderObject dataProviderObject)
        {
            switch (dataProviderObject.TypeName)
            {
            case "Album":
                return(EServiceMediaType.eServiceMediaTypeAlbum);

            case "Artist":
                return(EServiceMediaType.eServiceMediaTypeArtist);

            default:
                return(EServiceMediaType.eServiceMediaTypeInvalid);
            }
        }
 protected void Initialize(DataProviderObject profile)
 {
     this._profile = profile;
     if (s_dataProviderProperties == null)
     {
         s_dataProviderProperties = new PropertyDescriptor[4]
         {
             s_Biography,
             s_DisplayName,
             s_Location,
             s_Status
         }
     }
     ;
     this.Initialize(new object[1]
     {
         _profile
     }, s_dataProviderProperties);
 }
示例#17
0
 protected void Initialize(
     MixResultType resultType,
     string reason,
     string primaryText,
     string secondaryText,
     string id,
     string imageUri,
     Guid imageId,
     DataProviderObject baseObject)
 {
     this._resultType    = resultType;
     this._reason        = reason;
     this._primaryText   = primaryText;
     this._secondaryText = secondaryText;
     this._id            = id;
     this._imageId       = imageId;
     this._imageUri      = imageUri;
     this._baseObject    = baseObject;
 }
示例#18
0
 public void PrepareForBurn(string burnTitle, int playlistId, IList burnListItems)
 {
     this._isBurning           = true;
     this._burnError           = new HRESULT();
     this._items               = new List <BurnSessionItem>(burnListItems.Count);
     this._playlistId          = playlistId;
     this._burnTitle           = burnTitle;
     this._downloadsComplete   = false;
     this._burnProgressMessage = this._cdAccess.IsAudioBurn ? s_burnProgressMessage : s_burnProgressDataMessage;
     for (int index = 0; index < burnListItems.Count; ++index)
     {
         DataProviderObject burnListItem = (DataProviderObject)burnListItems[index];
         int  property1 = (int)burnListItem.GetProperty("LibraryId");
         Guid property2 = (Guid)burnListItem.GetProperty("ZuneMediaId");
         this._items.Add(new BurnSessionItem(this, index, property1, property2));
     }
     this.BeginSession();
     this.UpdateMessage();
 }
示例#19
0
 public void AddToCollection(IList items)
 {
     ZuneApplication.Service.Download(items, EDownloadFlags.Subscription, null, this.ClientContextEvent, this.ClientContextEventValue, new DownloadEventHandler(this.OnDownloadEvent), new DownloadEventProgressHandler(this.OnDownloadProgressEvent), new EventHandler(this.OnAllPending));
     foreach (object obj in items)
     {
         if (obj is DataProviderObject)
         {
             DataProviderObject dataProviderObject = (DataProviderObject)obj;
             if (dataProviderObject.TypeName == "PlaylistContentItem")
             {
                 PlaylistManager.GetPlaylistId((int)dataProviderObject.GetProperty("LibraryId"));
                 UsageDataService.ReportTrackAddToCollection((Guid)dataProviderObject.GetProperty("ZuneMediaId"), PlaylistManager.GetFieldValue((int)dataProviderObject.GetProperty("MediaId"), EListType.eTrackList, 358, 0).ToString());
             }
             else if (dataProviderObject is Track)
             {
                 Track track = (Track)dataProviderObject;
                 UsageDataService.ReportTrackAddToCollection(track.Id, track.ReferrerContext);
             }
         }
     }
 }
        public int Compare(object x, object y)
        {
            DataProviderObject dataProviderObject1 = x as DataProviderObject;
            DataProviderObject dataProviderObject2 = y as DataProviderObject;

            if (dataProviderObject1 == null || dataProviderObject2 == null)
            {
                return(1);
            }
            int num1 = (int)dataProviderObject1.GetProperty("DrmState");
            int num2 = (int)dataProviderObject2.GetProperty("DrmState");

            if (num1 == 20 || num1 == 23)
            {
                num1 = 26;
            }
            if (num2 == 20 || num2 == 23)
            {
                num2 = 26;
            }
            return(num1.CompareTo(num2));
        }
示例#21
0
        public static void Populate(object dataContainer, int libraryId)
        {
            DataProviderObject dataProviderObject = (DataProviderObject)dataContainer;

            object[] fieldValues = new object[19]
            {
                string.Empty,
                TimeSpan.Zero,
                0,
                0,
                string.Empty,
                string.Empty,
                string.Empty,
                new ArrayList(),
                string.Empty,
                string.Empty,
                DateTime.MinValue,
                0,
                0,
                string.Empty,
                string.Empty,
                string.Empty,
                string.Empty,
                0L,
                string.Empty
            };
            bool[] isEmptyValues = new bool[fieldValues.Length];
            ZuneLibrary.GetFieldValues(libraryId, EListType.eTrackList, ColumnIndexes.Length, ColumnIndexes, fieldValues, isEmptyValues, PlaylistManager.Instance.QueryContext);
            for (int index = 0; index < ColumnIndexes.Length; ++index)
            {
                if (ColumnIndexes[index] == 177)
                {
                    fieldValues[index] = MediaDescriptions.Map((MediaType)fieldValues[index]);
                }
                dataProviderObject.SetProperty(DataProperties[index], fieldValues[index]);
            }
        }
示例#22
0
 public static string UiType(DataProviderObject message) => GetTypeInfo(message).UIText;
示例#23
0
 public void Add(DataProviderObject item, string reason) => this.AddList(new System.Collections.Generic.List <DataProviderObject>()
 {
     item
 }, reason, 1);
示例#24
0
 public static void SetGenreHelper(DataProviderObject item, string genre) => PlaylistManager.SetFieldValue((int)item.GetProperty("LibraryId"), EListType.eTrackList, 398, genre);
示例#25
0
 public static void SetRead(DataProviderObject message, bool read) => ((MessageRoot)message).Status = read ? nameof(read) : "unread";
示例#26
0
 internal static int GetItemPriority(DataProviderObject item, int startPriority) => startPriority;
示例#27
0
 public ProfileBadge(DataProviderObject rawData, DataProviderObject mediaData)
 {
     this._rawData   = (BadgeData)rawData;
     this._mediaData = mediaData;
 }
示例#28
0
 private static MessageTypeInfo GetTypeInfo(DataProviderObject message) => MessageTypeInfo.GetMessageType(((MessageRoot)message).Type);
示例#29
0
 public ProfileTrack(Category category, DataProviderObject track)
 {
     this._category = category;
     this._track    = track;
 }
示例#30
0
 public static string DetailsTemplate(DataProviderObject message) => GetTypeInfo(message).DetailsTemplate;