internal FileRecordData GetFile(string virtualPath) { int startIndex = virtualPath.IndexOf('/', 1); virtualPath = virtualPath.Substring(startIndex + 1); string[] parts = virtualPath.Split('/'); int currentID = _rootID; FileRecordData frd = null; foreach (string part in parts) { frd = GetChildFileRecord(currentID, part); if (frd == null) { return(null); } currentID = frd.ID; } return(frd); }
public override bool DirectoryExists(string virtualDir) { // Check if it's a database directory FileRecordData frd = _db.GetFile(virtualDir); if (frd != null) { return(frd.IsDirectory); } return(false); }
/* * public override string GetFileHash(IEnumerable virtualPaths, string cacheHash) { * * HashCodeCombiner hashCodeCombiner = new HashCodeCombiner(); * * foreach (string virtualPath in virtualPaths) { * FileRecordData frd = _db.GetFile(virtualPath); * * if (frd != null) { * hashCodeCombiner.AddObject(frd.LastChanged.Ticks); * } * } * * return hashCodeCombiner.CombinedHashString; * } */ public override bool FileExists(string virtualPath) { // Check if it's a database file FileRecordData frd = _db.GetFile(virtualPath); if (frd != null) { return(!frd.IsDirectory); } return(false); //return Previous.FileExists(virtualPath); }
public override string GetFileHash(string virtualPath, IEnumerable virtualPathDependencies) { HashCodeCombiner hashCodeCombiner = new HashCodeCombiner(); FileRecordData frd = _db.GetFile(virtualPath); if (frd != null) { hashCodeCombiner.AddObject(frd.LastChanged.Ticks); } return(hashCodeCombiner.CombinedHashString); }
internal FileRecordData GetRecordData(IDataRecord record) { FileRecordData frd = new FileRecordData(); frd.ID = (int)record["ID"]; frd.ParentID = (int)record["ParentID"]; frd.IsDirectory = (bool)record["IsDirectory"]; frd.Name = record["Name"] as String; frd.Content = record["Content"] as String; frd.LastChanged = (DateTime)record["LastChanged"]; return(frd); }
public override VirtualDirectory GetDirectory(string virtualDir) { FileRecordData frd = _db.GetFile(virtualDir); if (frd != null) { if (!frd.IsDirectory) { return(null); } return(new DbVirtualDirectory(_db, virtualDir, frd)); } return(Previous.GetDirectory(virtualDir)); }
public override VirtualFile GetFile(string virtualPath) { FileRecordData frd = _db.GetFile(virtualPath); if (frd != null) { if (frd.IsDirectory) { return(null); } return(new DbVirtualFile(virtualPath, frd)); } return(null); }
bool IEnumerator.MoveNext() { for (; ;) { // No more data: we're done if (!_dataReader.Read()) { return(false); } _childRecord = _dbVirtualDir.Db.GetRecordData(_dataReader); // If it's the wrong entry type, ignore it if (_childRecord.IsDirectory && _requestedEntryType == RequestedEntryType.Files || !_childRecord.IsDirectory && _requestedEntryType == RequestedEntryType.Directories) { continue; } // We found a usable child return(true); } }
bool IEnumerator.MoveNext() { for (; ; ) { // No more data: we're done if (!_dataReader.Read()) return false; _childRecord = _dbVirtualDir.Db.GetRecordData(_dataReader); // If it's the wrong entry type, ignore it if (_childRecord.IsDirectory && _requestedEntryType == RequestedEntryType.Files || !_childRecord.IsDirectory && _requestedEntryType == RequestedEntryType.Directories) { continue; } // We found a usable child return true; } }
public DbVirtualFile(string virtualPath, FileRecordData frd) : base(virtualPath) { _frd = frd; }
public DbVirtualDirectory(DbAccessLayer db, string virtualPath, FileRecordData frd) : base(virtualPath) { _db = db; _frd = frd; }
internal FileRecordData GetRecordData(IDataRecord record) { FileRecordData frd = new FileRecordData(); frd.ID = (int)record["ID"]; frd.ParentID = (int)record["ParentID"]; frd.IsDirectory = (bool)record["IsDirectory"]; frd.Name = record["Name"] as String; frd.Content = record["Content"] as String; frd.LastChanged = (DateTime)record["LastChanged"]; return frd; }