/// <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) { }