Beispiel #1
0
 public virtual void AddTag(MediaTag tag)
 {
     if (MediaTags == null)
     {
         MediaTags = new List <MediaTag>();
     }
     MediaTags.Add(tag);
 }
Beispiel #2
0
        /// <summary>
        /// Copies the data to.
        /// </summary>
        /// <param name="media">The media.</param>
        /// <param name="copyCollections">if set to <c>true</c> copy collections.</param>
        /// <returns></returns>
        public virtual Media CopyDataTo(Media media, bool copyCollections = true)
        {
            media.Title       = Title;
            media.Description = Description;
            media.IsArchived  = IsArchived;
            media.Type        = Type;
            media.ContentType = ContentType;
            media.Folder      = Folder;
            media.PublishedOn = PublishedOn;
            media.Image       = Image;

            if (Categories != null && copyCollections)
            {
                if (media.Categories == null)
                {
                    media.Categories = new List <MediaCategory>();
                }
                foreach (var mediaCategory in Categories.Where(c => !c.IsDeleted))
                {
                    var clonedMediaCategory = mediaCategory.Clone();
                    clonedMediaCategory.Media = media;
                    media.AddCategory(clonedMediaCategory);
                }
            }

            if (MediaTags != null && copyCollections)
            {
                if (media.MediaTags == null)
                {
                    media.MediaTags = new List <MediaTag>();
                }
                foreach (var mediaTag in MediaTags.Where(c => !c.IsDeleted))
                {
                    var clonedMediaTag = mediaTag.Clone();
                    clonedMediaTag.Media = media;
                    media.AddTag(clonedMediaTag);
                }
            }

            return(media);
        }
Beispiel #3
0
 public string GetTagsAsString()
 {
     return(MediaTags.Select(i => i.Tag).Aggregate("", (current, item) => current + (item.Name + ",")));
 }