/// <summary>
 /// Initializes a new instance of the <see cref="MetadataDefinition"/> class.
 /// </summary>
 /// <param name="metadataItem">The metadata item.</param>
 /// <param name="isVisible">If set to <c>true</c> metadata items of this type are to be visible to the user.</param>
 /// <param name="sequence">The sequence.</param>
 /// <param name="galleryId">The gallery ID.</param>
 public MetadataDefinition(FormattedMetadataItemName metadataItem, bool isVisible, int sequence, int galleryId)
 {
     MetadataItem = metadataItem;
     IsVisible    = isVisible;
     Sequence     = sequence;
     GalleryId    = galleryId;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="MetadataDefinition"/> class.
 /// </summary>
 /// <param name="metadataItem">The metadata item.</param>
 /// <param name="isVisible">If set to <c>true</c> metadata items of this type are to be visible to the user.</param>
 /// <param name="sequence">The sequence.</param>
 /// <param name="galleryId">The gallery ID.</param>
 public MetadataDefinition(FormattedMetadataItemName metadataItem, bool isVisible, int sequence, int galleryId)
 {
     MetadataItem = metadataItem;
     IsVisible = isVisible;
     Sequence = sequence;
     GalleryId = galleryId;
 }
        /// <summary>
        /// Create a new <see cref="IGalleryObjectMetadataItem"/> item from the specified parameters and add it to the collection. Return a
        /// reference to the new item.
        /// </summary>
        /// <param name="mediaObjectMetadataId">A value that uniquely indentifies this metadata item.</param>
        /// <param name="metadataItemName">The name of this metadata item.</param>
        /// <param name="description">The description of the metadata item (e.g. "Exposure time", "Camera model")</param>
        /// <param name="value">The value of the metadata item (e.g. "F5.7", "1/500 sec.").</param>
        /// <param name="hasChanges">A value indicating whether this metadata item has changes that have not been persisted to the database.</param>
        /// <returns>Returns a reference to the new item.</returns>
        public IGalleryObjectMetadataItem AddNew(int mediaObjectMetadataId, FormattedMetadataItemName metadataItemName, string description, string value, bool hasChanges)
        {
            IGalleryObjectMetadataItem metadataItem = new GalleryObjectMetadataItem(mediaObjectMetadataId, metadataItemName, description, value, hasChanges);

            Items.Add(metadataItem);

            return(metadataItem);
        }
Пример #4
0
 /// <summary>
 /// Initializes a new instance of the <see cref="GalleryObjectMetadataItem"/> class.
 /// </summary>
 /// <param name="mediaObjectMetadataId">The value that uniquely indentifies this metadata item.</param>
 /// <param name="metadataItemName">Name of the metadata item.</param>
 /// <param name="description">The description of the metadata item (e.g. "Exposure time", "Camera model").</param>
 /// <param name="value">The value of the metadata item (e.g. "F5.7", "1/500 sec.").</param>
 /// <param name="hasChanges">if set to <c>true</c> this object has changes that have not been persisted to the database.</param>
 public GalleryObjectMetadataItem(int mediaObjectMetadataId, FormattedMetadataItemName metadataItemName, string description, string value, bool hasChanges)
 {
     this._mediaObjectMetadataId = mediaObjectMetadataId;
     this._metadataItemName      = metadataItemName;
     this._description           = description;
     this._value = value;
     this._extractFromFileOnSave = false;
     this._hasChanges            = hasChanges;
 }
Пример #5
0
		/// <summary>
		/// Initializes a new instance of the <see cref="GalleryObjectMetadataItem"/> class.
		/// </summary>
		/// <param name="mediaObjectMetadataId">The value that uniquely indentifies this metadata item.</param>
		/// <param name="metadataItemName">Name of the metadata item.</param>
		/// <param name="description">The description of the metadata item (e.g. "Exposure time", "Camera model").</param>
		/// <param name="value">The value of the metadata item (e.g. "F5.7", "1/500 sec.").</param>
		/// <param name="hasChanges">if set to <c>true</c> this object has changes that have not been persisted to the database.</param>
		public GalleryObjectMetadataItem(int mediaObjectMetadataId, FormattedMetadataItemName metadataItemName, string description, string value, bool hasChanges)
		{
			this._mediaObjectMetadataId = mediaObjectMetadataId;
			this._metadataItemName = metadataItemName;
			this._description = description;
			this._value = value;
			this._extractFromFileOnSave = false;
			this._hasChanges = hasChanges;
		}
        /// <summary>
        /// Gets the <see cref="IGalleryObjectMetadataItem"/> object that matches the specified
        /// <see cref="GalleryServerPro.Business.Metadata.FormattedMetadataItemName"/>. The <paramref name="metadataItem"/>
        /// parameter remains null if no matching object is in the collection.
        /// </summary>
        /// <param name="metadataName">The <see cref="GalleryServerPro.Business.Metadata.FormattedMetadataItemName"/> of the
        /// <see cref="IGalleryObjectMetadataItem"/> to get.</param>
        /// <param name="metadataItem">When this method returns, contains the <see cref="IGalleryObjectMetadataItem"/> associated with the
        /// specified <see cref="GalleryServerPro.Business.Metadata.FormattedMetadataItemName"/>, if the key is found; otherwise, the
        /// parameter remains null. This parameter is passed uninitialized.</param>
        /// <returns>
        /// Returns true if the <see cref="IGalleryObjectMetadataItemCollection"/> contains an element with the specified
        /// <see cref="GalleryServerPro.Business.Metadata.FormattedMetadataItemName"/>; otherwise, false.
        /// </returns>
        public bool TryGetMetadataItem(FormattedMetadataItemName metadataName, out IGalleryObjectMetadataItem metadataItem)
        {
            // We know galleryObjectMetadataItems is actually a List<IGalleryObjectMetadataItem> because we passed it to the constructor.
            List <IGalleryObjectMetadataItem> galleryObjectMetadataItems = (List <IGalleryObjectMetadataItem>)Items;

            metadataItem = galleryObjectMetadataItems.Find(delegate(IGalleryObjectMetadataItem metaItem)
            {
                return(metaItem.MetadataItemName == metadataName);
            });

            return(metadataItem != null);
        }
        private static string GetResource(FormattedMetadataItemName formattedMetadataItemName)
        {
            const string resourcePrefix = "Metadata_";

            return Resources.ResourceManager.GetString(String.Concat(resourcePrefix, formattedMetadataItemName.ToString())) ?? formattedMetadataItemName.ToString();
        }
Пример #8
0
        private IGalleryObjectMetadataItem GetStringMetadataItem(RawMetadataItemName sourceRawMetadataName, FormattedMetadataItemName destinationFormattedMetadataName, string metadataDescription, string formatString)
        {
            IGalleryObjectMetadataItem mdi = null;
            MetadataItem rawMdi            = null;

            if (RawMetadata.TryGetValue(sourceRawMetadataName, out rawMdi))
            {
                mdi = new GalleryObjectMetadataItem(int.MinValue, destinationFormattedMetadataName, metadataDescription, String.Format(CultureInfo.CurrentCulture, formatString, rawMdi.Value.ToString().TrimEnd(new char[] { '\0' })), true);
            }
            return(mdi);
        }
Пример #9
0
 private IGalleryObjectMetadataItem GetStringMetadataItem(RawMetadataItemName sourceRawMetadataName, FormattedMetadataItemName destinationFormattedMetadataName, string metadataDescription)
 {
     return(GetStringMetadataItem(sourceRawMetadataName, destinationFormattedMetadataName, metadataDescription, "{0}"));
 }
		private IGalleryObjectMetadataItem GetStringMetadataItem(RawMetadataItemName sourceRawMetadataName, FormattedMetadataItemName destinationFormattedMetadataName, string metadataDescription, string formatString)
		{
			IGalleryObjectMetadataItem mdi = null;
			MetadataItem rawMdi = null;
			if (RawMetadata.TryGetValue(sourceRawMetadataName, out rawMdi))
			{
				mdi = new GalleryObjectMetadataItem(int.MinValue, destinationFormattedMetadataName, metadataDescription, String.Format(CultureInfo.CurrentCulture, formatString, rawMdi.Value.ToString().TrimEnd(new char[] { '\0' })), true);
			}
			return mdi;
		}
		private IGalleryObjectMetadataItem GetStringMetadataItem(RawMetadataItemName sourceRawMetadataName, FormattedMetadataItemName destinationFormattedMetadataName, string metadataDescription)
		{
			return GetStringMetadataItem(sourceRawMetadataName, destinationFormattedMetadataName, metadataDescription, "{0}");
		}
        /// <summary>
        /// Determines whether the <paramref name="metadataItemName"/> is a member of the collection.
        /// </summary>
        /// <param name="metadataItemName">The <see cref="Metadata.FormattedMetadataItemName"/> to search for.</param>
        /// <returns>Returns <c>true</c> if <paramref name="metadataItemName"/> is in the current collection;
        /// otherwise returns <c>false</c>.
        /// </returns>
        public bool Contains(FormattedMetadataItemName metadataItemName)
        {
            IGalleryObjectMetadataItem metadataItem;

            return(TryGetMetadataItem(metadataItemName, out metadataItem));
        }
        private static string GetResource(FormattedMetadataItemName formattedMetadataItemName)
        {
            const string resourcePrefix = "Metadata_";

            return(Resources.ResourceManager.GetString(String.Concat(resourcePrefix, formattedMetadataItemName.ToString())) ?? formattedMetadataItemName.ToString());
        }
Пример #14
0
        /// <summary>
        /// Determines if the <paramref name="item" /> parameter is one of the defined enumerations. This method is more efficient than using
        /// <see cref="Enum.IsDefined" />, since <see cref="Enum.IsDefined" /> uses reflection.
        /// </summary>
        /// <param name="item">An instance of <see cref="FormattedMetadataItemName" /> to test.</param>
        /// <returns>Returns true if <paramref name="item" /> is one of the defined items in the enumeration; otherwise returns false.</returns>
        public static bool IsValidFormattedMetadataItemName(FormattedMetadataItemName item)
        {
            switch (item)
            {
                // Most frequently specified items are at the top
                case FormattedMetadataItemName.Title:

                case FormattedMetadataItemName.AudioBitRate:
                case FormattedMetadataItemName.AudioFormat:
                case FormattedMetadataItemName.Author:
                case FormattedMetadataItemName.BitRate:
                case FormattedMetadataItemName.CameraModel:
                case FormattedMetadataItemName.Comment:
                case FormattedMetadataItemName.ColorRepresentation:
                case FormattedMetadataItemName.Copyright:
                case FormattedMetadataItemName.DatePictureTaken:
                case FormattedMetadataItemName.Description:
                case FormattedMetadataItemName.Dimensions:
                case FormattedMetadataItemName.Duration:
                case FormattedMetadataItemName.EquipmentManufacturer:
                case FormattedMetadataItemName.ExposureCompensation:
                case FormattedMetadataItemName.ExposureProgram:
                case FormattedMetadataItemName.ExposureTime:
                case FormattedMetadataItemName.FlashMode:
                case FormattedMetadataItemName.FNumber:
                case FormattedMetadataItemName.FocalLength:
                case FormattedMetadataItemName.Height:
                case FormattedMetadataItemName.HorizontalResolution:
                case FormattedMetadataItemName.IsoSpeed:
                case FormattedMetadataItemName.Keywords:
                case FormattedMetadataItemName.LensAperture:
                case FormattedMetadataItemName.LightSource:
                case FormattedMetadataItemName.MeteringMode:
                case FormattedMetadataItemName.Rating:
                case FormattedMetadataItemName.SubjectDistance:
                case FormattedMetadataItemName.Subject:
                case FormattedMetadataItemName.VerticalResolution:
                case FormattedMetadataItemName.VideoBitRate:
                case FormattedMetadataItemName.VideoFormat:
                case FormattedMetadataItemName.Width:
                case FormattedMetadataItemName.FileName:
                case FormattedMetadataItemName.FileNameWithoutExtension:
                case FormattedMetadataItemName.FileSizeKb:
                case FormattedMetadataItemName.DateFileCreated:
                case FormattedMetadataItemName.DateFileCreatedUtc:
                case FormattedMetadataItemName.DateFileLastModified:
                case FormattedMetadataItemName.DateFileLastModifiedUtc:

                case FormattedMetadataItemName.GpsLocation:
                case FormattedMetadataItemName.GpsLocationWithMapLink:
                case FormattedMetadataItemName.GpsLatitude:
                case FormattedMetadataItemName.GpsLongitude:
                case FormattedMetadataItemName.GpsDestLocation:
                case FormattedMetadataItemName.GpsDestLocationWithMapLink:
                case FormattedMetadataItemName.GpsDestLatitude:
                case FormattedMetadataItemName.GpsDestLongitude:
                case FormattedMetadataItemName.GpsAltitude:
                case FormattedMetadataItemName.GpsVersion:

                case FormattedMetadataItemName.IptcByline:
                case FormattedMetadataItemName.IptcBylineTitle:
                case FormattedMetadataItemName.IptcCaption:
                case FormattedMetadataItemName.IptcCity:
                case FormattedMetadataItemName.IptcCopyrightNotice:
                case FormattedMetadataItemName.IptcCountryPrimaryLocationName:
                case FormattedMetadataItemName.IptcCredit:
                case FormattedMetadataItemName.IptcDateCreated:
                case FormattedMetadataItemName.IptcHeadline:
                case FormattedMetadataItemName.IptcKeywords:
                case FormattedMetadataItemName.IptcObjectName:
                case FormattedMetadataItemName.IptcOriginalTransmissionReference:
                case FormattedMetadataItemName.IptcProvinceState:
                case FormattedMetadataItemName.IptcRecordVersion:
                case FormattedMetadataItemName.IptcSource:
                case FormattedMetadataItemName.IptcSpecialInstructions:
                case FormattedMetadataItemName.IptcSublocation:
                case FormattedMetadataItemName.IptcWriterEditor:
                    break;

                default:
                    return false;
            }
            return true;
        }