private List <LinkedChild> GetLinkedChildrenInternal() { return(LibraryManager.RootFolder.Children .OfType <Folder>() .Where(i => i.Path != null && PhysicalLocations.Contains(i.Path, StringComparer.OrdinalIgnoreCase)) .SelectMany(c => c.LinkedChildren) .ToList()); }
private IEnumerable <BaseItem> GetActualChildren() { return (LibraryManager.RootFolder.Children .OfType <Folder>() .Where(i => i.Path != null && PhysicalLocations.Contains(i.Path, StringComparer.OrdinalIgnoreCase)) .SelectMany(c => c.Children)); }
/// <summary> /// Finds an item by path, recursively /// </summary> /// <param name="path">The path.</param> /// <returns>BaseItem.</returns> /// <exception cref="System.ArgumentNullException"></exception> public BaseItem FindByPath(string path) { if (string.IsNullOrEmpty(path)) { throw new ArgumentNullException(); } if (string.Equals(Path, path, StringComparison.OrdinalIgnoreCase)) { return(this); } if (PhysicalLocations.Contains(path, StringComparer.OrdinalIgnoreCase)) { return(this); } return(RecursiveChildren.FirstOrDefault(i => string.Equals(i.Path, path, StringComparison.OrdinalIgnoreCase) || (!i.IsFolder && !i.IsInMixedFolder && string.Equals(i.ContainingFolderPath, path, StringComparison.OrdinalIgnoreCase)) || i.PhysicalLocations.Contains(path, StringComparer.OrdinalIgnoreCase))); }
public IEnumerable <Folder> GetPhysicalParents() { return(LibraryManager.RootFolder.Children .OfType <Folder>() .Where(i => i.Path != null && PhysicalLocations.Contains(i.Path, StringComparer.OrdinalIgnoreCase))); }