示例#1
0
        public void PopulatePlaylistObjects()
        {
            PlaylistObjects.Clear();

            if (string.IsNullOrEmpty(this.PlaylistItems))
            {
                return;
            }

            string[] items = this.PlaylistItems.Split('|');
            foreach (string pitem in items)
            {
                string[] parms = pitem.Split(';');
                if (parms.Length != 2)
                {
                    continue;
                }

                int objType = -1;
                int objID   = -1;

                if (!int.TryParse(parms[0], out objType))
                {
                    continue;
                }
                if (!int.TryParse(parms[1], out objID))
                {
                    continue;
                }

                if ((PlaylistItemType)objType == PlaylistItemType.AnimeSeries)
                {
                    // get the series
                    JMMServerBinary.Contract_AnimeSeries serContract = JMMServerVM.Instance.clientBinaryHTTP.GetSeries(objID,
                                                                                                                       JMMServerVM.Instance.CurrentUser.JMMUserID.Value);
                    if (serContract != null)
                    {
                        AnimeSeriesVM ser = new AnimeSeriesVM(serContract);
                        PlaylistObjects.Add(new PlaylistItemVM(this.PlaylistID.Value, PlaylistItemType.AnimeSeries, ser));
                    }
                }
                else
                {
                    // get the episode
                    JMMServerBinary.Contract_AnimeEpisode epContract = JMMServerVM.Instance.clientBinaryHTTP.GetEpisode(objID,
                                                                                                                        JMMServerVM.Instance.CurrentUser.JMMUserID.Value);
                    if (epContract != null)
                    {
                        AnimeEpisodeVM ep = new AnimeEpisodeVM(epContract);
                        //ep.SetTvDBInfo();
                        PlaylistObjects.Add(new PlaylistItemVM(this.PlaylistID.Value, PlaylistItemType.Episode, ep));
                    }
                }
            }

            SetDependendProperties();
        }
示例#2
0
        public void PopulatePlaylistObjects()
        {
            PlaylistObjects.Clear();

            if (string.IsNullOrEmpty(PlaylistItems))
            {
                return;
            }

            string[] items = PlaylistItems.Split('|');
            foreach (string pitem in items)
            {
                string[] parms = pitem.Split(';');
                if (parms.Length != 2)
                {
                    continue;
                }

                int objType;
                int objID;

                if (!int.TryParse(parms[0], out objType))
                {
                    continue;
                }
                if (!int.TryParse(parms[1], out objID))
                {
                    continue;
                }

                if ((PlaylistItemType)objType == PlaylistItemType.AnimeSeries)
                {
                    VM_AnimeSeries_User ser;
                    if (VM_MainListHelper.Instance.AllSeriesDictionary.TryGetValue(objID, out ser) == false)
                    {
                        // get the series
                        ser = (VM_AnimeSeries_User)VM_ShokoServer.Instance.ShokoServices.GetSeries(objID, VM_ShokoServer.Instance.CurrentUser.JMMUserID);
                        if (ser != null)
                        {
                            VM_MainListHelper.Instance.AllSeriesDictionary[objID] = ser;
                        }
                    }

                    if (ser != null)
                    {
                        PlaylistObjects.Add(new VM_PlaylistItem(PlaylistID, PlaylistItemType.AnimeSeries, ser));
                    }
                }
                else
                {
                    // get the episode
                    VM_AnimeEpisode_User ep = (VM_AnimeEpisode_User)VM_ShokoServer.Instance.ShokoServices.GetEpisode(objID,
                                                                                                                     VM_ShokoServer.Instance.CurrentUser.JMMUserID);
                    if (ep != null)
                    {
                        //ep.SetTvDBInfo();
                        PlaylistObjects.Add(new VM_PlaylistItem(PlaylistID, PlaylistItemType.Episode, ep));
                    }
                }
            }

            SetDependendProperties();
        }