public IEnumerable <IFile> Files() { lock (ChildFiles) { return(ChildFiles.Where(x => x.Exists).Cast <IFile>().ToList()); } }
public IEnumerable <IFile> Files(string filter, SearchScope searchScope) { lock (ChildFiles) lock (ChildDirectories) { var filterRegex = filter.Wildcard(); var immediateChildren = ChildFiles.Where(x => x.Exists && filterRegex.IsMatch(x.Name)).Cast <IFile>(); return(searchScope == SearchScope.CurrentOnly ? immediateChildren.ToList() : immediateChildren.Concat(ChildDirectories.SelectMany(x => x.Files(filter, searchScope))).ToList()); } }
private decimal GetEnabledSize() { return(ChildFiles.Where(x => x.IsEnabled == true).Sum(x => x.SizeInMb)); }