Example #1
0
        /// <summary>
        /// Convenience method to get a <see cref="MediaItemAspect"/> from the given <paramref name="aspects"/> dictionary or add a new instance to the
        /// dictionary and return it.
        /// </summary>
        /// <param name="aspects">Dictionary of MediaItemAspects.</param>
        /// <param name="mediaItemAspectMetadata">Definiton of metadata that is used for creation.</param>
        /// <returns>Existing or new <see cref="MediaItemAspect"/> instance.</returns>
        public static SingleMediaItemAspect GetOrCreateAspect(IDictionary <Guid, IList <MediaItemAspect> > aspects, SingleMediaItemAspectMetadata mediaItemAspectMetadata)
        {
            SingleMediaItemAspect mediaAspect;
            Guid aspectId = mediaItemAspectMetadata.AspectId;

            if (!TryGetAspect(aspects, mediaItemAspectMetadata, out mediaAspect))
            {
                if (!aspects.ContainsKey(aspectId))
                {
                    aspects[aspectId] = new List <MediaItemAspect>();
                }
                aspects[aspectId].Add(mediaAspect = new SingleMediaItemAspect(mediaItemAspectMetadata));
            }
            return(mediaAspect);
        }
 /// <summary>
 /// Creates a new media item aspect instance for the specified media item aspect <paramref name="metadata"/>.
 /// </summary>
 /// <param name="metadata">Media item aspect specification.</param>
 public SingleMediaItemAspect(SingleMediaItemAspectMetadata metadata) : base(metadata)
 {
 }