public IEnumerable <MetaDataItem> GetMetaDatas(LibraryHierarchyNode libraryHierarchyNode, MetaDataItemType metaDataItemType) { using (var database = this.DatabaseFactory.Create()) { using (var transaction = database.BeginTransaction(database.PreferredIsolationLevel)) { using (var reader = database.ExecuteReader(database.Queries.GetLibraryHierarchyMetaData, (parameters, phase) => { switch (phase) { case DatabaseParameterPhase.Fetch: parameters["libraryHierarchyItemId"] = libraryHierarchyNode.Id; parameters["type"] = metaDataItemType; break; } }, transaction)) { foreach (var record in reader) { yield return(new MetaDataItem() { Value = record.Get <string>("Value") }); } } } } }
public OnDemandMetaDataRequest(string name, MetaDataItemType type, bool user, object state = null) { this.Name = name; this.Type = type; this.User = user; this.State = state; }
protected virtual Task SortItemsByMetaData(MetaDataItemType type, string value, bool descending) { #if NET40 return(TaskEx.FromResult(false)); #else return(Task.CompletedTask); #endif }
public void Add(string name, MetaDataItemType type, string value, int metaDataItemId) { if (!NAMES.Contains(name)) { return; } var key = new Key(name, type, value); this.Store.Add(key, metaDataItemId); }
public static T GetValueOrDefault <T>(this IFileData fileData, string name, MetaDataItemType type, T value = default(T)) { var text = fileData.GetValueOrDefault(name, type); if (string.IsNullOrEmpty(text)) { return(value); } return((T)Convert.ChangeType(text, typeof(T))); }
public static string GetValueOrDefault(this IFileData fileData, string name, MetaDataItemType type, string value = null) { foreach (var metaDataItem in fileData.MetaDatas) { if (string.Equals(metaDataItem.Name, name, StringComparison.OrdinalIgnoreCase) && metaDataItem.Type == type) { return(metaDataItem.Value); } } return(value); }
public bool TryGetValue(string name, MetaDataItemType type, string value, out int metaDataItemId) { if (!NAMES.Contains(name)) { metaDataItemId = default(int); return(false); } var key = new Key(name, type, value); return(this.Store.TryGetValue(key, out metaDataItemId)); }
public static MetaDataItem GetOrAdd(this IFileData fileData, string name, MetaDataItemType type, string value = null) { foreach (var metaDataItem in fileData.MetaDatas) { if (string.Equals(metaDataItem.Name, name, StringComparison.OrdinalIgnoreCase) && metaDataItem.Type == type) { return(metaDataItem); } } { var metaDataItem = new MetaDataItem(name, type); if (value != null) { metaDataItem.Value = value; } fileData.MetaDatas.Add(metaDataItem); return(metaDataItem); } }
private static int GetSequence(MetaDataItemType type) { switch (type) { case MetaDataItemType.Tag: return(0); case MetaDataItemType.CustomTag: return(1); case MetaDataItemType.Property: return(2); case MetaDataItemType.Statistic: return(3); default: return(10); } }
public static bool AddOrUpdate(this IFileData fileData, string name, MetaDataItemType type, string value) { foreach (var metaDataItem in fileData.MetaDatas) { if (string.Equals(metaDataItem.Name, name, StringComparison.OrdinalIgnoreCase) && metaDataItem.Type == type) { if (string.Equals(metaDataItem.Value, value)) { return(false); } metaDataItem.Value = value; return(true); } } fileData.MetaDatas.Add(new MetaDataItem(name, type) { Value = value }); return(true); }
public int GetOrAdd(string name, MetaDataItemType type, string value, Func <int> factory) { var key = new Key(name, type, value); return(this.GetOrAdd(key, factory)); }
public bool IsSourceEnabled(string name, MetaDataItemType type) { return(this.GetSources(name, type).Any()); }
private static IEnumerable <MetaDataElement> GetElements(IEnumerable <string> names, MetaDataItemType type, IEnumerable <KeyValuePair <string, MetaDataItemType> > supported) { foreach (var name in names) { if (!supported.Any(element => string.Equals(element.Key, name, StringComparison.OrdinalIgnoreCase) && element.Value == type)) { continue; } yield return(new MetaDataElement(name, type)); } }
public static bool AddOrUpdate(this IFileData fileData, IDictionary <string, MetaDataItem> metaDataItems, string name, MetaDataItemType type, string value) { var metaDataItem = default(MetaDataItem); if (metaDataItems.TryGetValue(name, out metaDataItem)) { if (string.Equals(metaDataItem.Value, value)) { return(false); } metaDataItem.Value = value; return(true); } fileData.MetaDatas.Add(new MetaDataItem(name, type) { Value = value }); return(true); }
public SupportedMetaData(int sequence, string name, MetaDataItemType type) { this.Sequence = sequence; this.Name = name; this.Type = type; }
public SupportedMetaData(string name, MetaDataItemType type) : this(GetSequence(type), name, type) { }
public Key(string name, MetaDataItemType type, string value) { this.Name = name; this.Type = type; this.Value = value; }
public MetaDataItem(string name, MetaDataItemType type) { this.Name = name; this.Type = type; }
public MetaDataEntry(string name, MetaDataItemType type) : this() { this.Name = name; this.Type = type; }
public MetaDataElement(string name, MetaDataItemType type) { this.Name = name; this.Type = Enum.GetName(typeof(MetaDataItemType), type); }
protected virtual IEnumerable <IOnDemandMetaDataSource> GetSources(string name, MetaDataItemType type) { foreach (var source in this.Sources) { if (source.Enabled && string.Equals(source.Name, name, StringComparison.OrdinalIgnoreCase) && source.Type == type) { yield return(source); } } }