Ejemplo n.º 1
0
        internal static bool Delete(IOwinContext context, MediaItem item)
        {
            Guid?user = ResourceAccessUtils.GetUser(context);
            IList <MultipleMediaItemAspect> providerResourceAspects;

            if (MediaItemAspect.TryGetAspects(item.Aspects, ProviderResourceAspect.Metadata, out providerResourceAspects))
            {
                foreach (var res in providerResourceAspects.Where(p => p.GetAttributeValue <int>(ProviderResourceAspect.ATTR_TYPE) == ProviderResourceAspect.TYPE_PRIMARY))
                {
                    var systemId        = res.GetAttributeValue <string>(ProviderResourceAspect.ATTR_SYSTEM_ID);
                    var resourcePathStr = res.GetAttributeValue <string>(ProviderResourceAspect.ATTR_RESOURCE_ACCESSOR_PATH);
                    var resourcePath    = ResourcePath.Deserialize(resourcePathStr.ToString());
                    MediaLibrary.DeleteMediaItemOrPath(systemId, resourcePath, true);
                }
            }
            return(true);
        }