/// <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); }
/// <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(); }
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}")); }
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()); }
/// <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; }