public UtvSeriesFolder(Series series, IEnumerable<Episode> children) : base(children.Cast<BaseItem>().ToList())
 {
     Name = series.Name;
     BannerImagePath = series.BannerImagePath;
     BackdropImagePaths = series.BackdropImagePaths;
     ThumbnailImagePath = series.ThumbnailImagePath;
     LogoImagePath = series.LogoImagePath;
     Id = Guid.NewGuid();
 }
        private void AddItemToIndex(string indexName, List<BaseItem> index, Dictionary<Guid, IContainer> seriesList, BaseItem child)
        {
            if (child is IGroupInIndex)
            {
                //we want to group these by their main containers - find or create a head
                IContainer currentContainer = seriesList[child.Id];

                if (currentContainer == null)
                {
                    //couldn't find our container...
                    currentContainer = new Series()
                    {
                        Id = Guid.NewGuid(),
                        Name = "<Unknown>"
                    };
                }
                IndexFolder container = (IndexFolder)index.Find(i => i.Id == (indexName + currentContainer.Name).GetMD5());
                if (container == null)
                {
                    container = new IndexFolder()
                    {
                        Id = (indexName + currentContainer.Name).GetMD5(),
                        Name = currentContainer.Name,
                        Overview = currentContainer.Overview,
                        MpaaRating = currentContainer.MpaaRating,
                        Genres = currentContainer.Genres,
                        ImdbRating = currentContainer.ImdbRating,
                        Studios = currentContainer.Studios,
                        PrimaryImagePath = currentContainer.PrimaryImagePath,
                        SecondaryImagePath = currentContainer.SecondaryImagePath,
                        BannerImagePath = currentContainer.BannerImagePath,
                        BackdropImagePaths = currentContainer.BackdropImagePaths,
                        DisplayMediaType = currentContainer.DisplayMediaType,
                    };
                    index.Add(container);
                }
                container.AddChild(child);
            }
            else
            {
                index.Add(child);
            }
        }
Exemple #3
0
 public Series RetrieveSeries()
 {
     if (seriesItem == null && !string.IsNullOrEmpty(this.Path))
     {
         string parentPath = System.IO.Path.GetDirectoryName(this.Path);
         string grandparentPath = System.IO.Path.GetDirectoryName(parentPath); //parent of parent is series
         Guid seriesId = (typeof(Series).FullName + (grandparentPath != null ? grandparentPath : parentPath).ToLower()).GetMD5();
         seriesItem = Kernel.Instance.ItemRepository.RetrieveItem(seriesId) as Series;
     }
     return seriesItem;
 }
 public Series RetrieveSeries()
 {
     if (seriesItem == null && !string.IsNullOrEmpty(this.SeriesId))
     {
         seriesItem = Kernel.Instance.MB3ApiRepository.RetrieveItem(new Guid(SeriesId)) as Series;
     }
     return seriesItem;
 }
        public void TestMergeDoesNotInventFields()
        {
            Series series = new Series();
            Series other = new Series();
            Serializer.Merge(series, other);

            Assert.IsNull(series.TVDBSeriesId);
            Assert.IsNull(other.TVDBSeriesId);
        }
 public Series RetrieveSeries()
 {
     if (seriesItem == null && !string.IsNullOrEmpty(this.SeriesId))
     {
         lock (SeriesCache)
         {
             var id = new Guid(SeriesId);
             seriesItem = SeriesCache.GetValueOrDefault(id, null) ?? Kernel.Instance.MB3ApiRepository.RetrieveItem(id) as Series;
             SeriesCache[id] = seriesItem;
         }
     }
     return seriesItem;
 }