示例#1
0
        /// <summary>Sets values common to both media and written resources</summary>
        /// <param name="resource"></param>
        /// <param name="sessionDirectoryName"></param>
        private void SetResourceProperties(IIMDISessionFile resource, string sessionDirectoryName)
        {
            resource.ResourceLink = new ResourceLinkType {
                Value = ResourceLink(sessionDirectoryName, NormalizedName)
            };
            resource.OutputDirectory = sessionDirectoryName;

            if (IsMediaFile)
            {
                resource.Format = MimeType.ToVocabularyType(false, ListType.Link(ListType.MediaFileFormat));
                resource.Type   = GeneralType.ToVocabularyType(false, ListType.Link(ListType.MediaFileType));
            }
            else
            {
                resource.Format = MimeType.ToVocabularyType(false, ListType.Link(ListType.WrittenResourceFormat));
                resource.Type   = GeneralType.ToVocabularyType(false, ListType.Link(ListType.WrittenResourceType));
            }
            resource.Size = FileSize;

            foreach (var description in Descriptions)
            {
                resource.Description.Add(description.ToIMDIDescriptionType());
            }

            resource.FullPathAndFileName = FullName;

            // Description is required
            if (resource.Description.Count == 0)
            {
                resource.Description.Add(new LanguageString());
            }

            if (AccessCode != null)
            {
                resource.Access = new AccessType {
                    Availability = AccessCode
                }
            }
            ;
        }
    }
示例#2
0
		/// <summary>Sets values common to both media and written resources</summary>
		/// <param name="resource"></param>
		/// <param name="sessionDirectoryName"></param>
		private void SetResourceProperties(IIMDISessionFile resource, string sessionDirectoryName)
		{
			resource.ResourceLink = new ResourceLinkType { Value = ResourceLink(sessionDirectoryName, NormalizedName) };
			resource.OutputDirectory = sessionDirectoryName;

			if (IsMediaFile)
			{
				resource.Format = MimeType.ToVocabularyType(false, ListType.Link(ListType.MediaFileFormat));
				resource.Type = GeneralType.ToVocabularyType(false, ListType.Link(ListType.MediaFileType));
			}
			else
			{
				resource.Format = MimeType.ToVocabularyType(false, ListType.Link(ListType.WrittenResourceFormat));
				resource.Type = GeneralType.ToVocabularyType(false, ListType.Link(ListType.WrittenResourceType));
			}
			resource.Size = FileSize;

			foreach (var description in Descriptions)
				resource.Description.Add(description.ToIMDIDescriptionType());

			resource.FullPathAndFileName = FullName;

			// Description is required
			if (resource.Description.Count == 0)
				resource.Description.Add(new LanguageString());

			if (AccessCode != null)
				resource.Access = new AccessType {Availability = AccessCode};
		}