public FolderItem GetFolderItemById(string path) { var retVal = ChangeTracker.TrackingEntries.Select(x => x.Entity).OfType <FolderItemExt>().Where(x => x.FileSystemPath == path).FirstOrDefault(); if (retVal == null) { retVal = new FolderItemExt { Name = System.IO.Path.GetFileName(path), FolderItemId = path }; retVal.FileSystemPath = path; ChangeTracker.Attach(retVal); } return(retVal); }
public FolderItem[] GetChildrenFolderItems(string folderId) { List <FolderItemExt> retVal = ChangeTracker.TrackingEntries.Select(x => x.Entity).OfType <FolderItemExt>().Where(x => x.FolderId == folderId).ToList(); if (!retVal.Any()) { foreach (var path in Directory.GetFiles(folderId)) { FileInfo fi = new FileInfo(path); var folderItem = new FolderItemExt { FolderItemId = path, Name = System.IO.Path.GetFileName(path), FileSystemPath = path, FolderId = folderId, ContentLength = fi.Length }; //// 500 KB //if (fi.Length > 512000) //{ // // blob association ? // // folderItem.BlobKey = //} //else //{ // using (FileStream fs = fi.OpenRead()) // { // byte[] fileContent = new byte[fs.Length]; // fs.Read(fileContent, 0, fileContent.Length); // folderItem.SmallData = fileContent; // } //} retVal.Add(folderItem); ChangeTracker.Attach(folderItem); } } return(retVal.ToArray()); }
public MockAssetRepository() { MockFolderList = new List <FolderExt>(); MockFolderList.Add(new FolderExt { FolderId = "folder", Name = "main" }); MockFolderList.Add(new FolderExt { FolderId = "backup", Name = "backups" }); MockFolderList.Add(new FolderExt { FolderId = "subfolder", Name = "goods", ParentFolderId = "folder" }); MockFolderList.Add(new FolderExt { FolderId = "1", Name = "Customers", ParentFolderId = "subfolder" }); MockFolderList.Add(new FolderExt { FolderId = "a", Name = "items", ParentFolderId = "subfolder" }); MockFolderList.Add(new FolderExt { FolderId = "t", Name = "sales", ParentFolderId = "1" }); MockFolderList.Add(new FolderExt { FolderId = "i", Name = "marketing and advertising", ParentFolderId = "folder" }); foreach (var folder in MockFolderList.ToArray()) { for (int i = 0; i < folder.Name.Length; i++) { MockFolderList.Add(new FolderExt { FolderId = folder.Name + i, Name = folder.Name + "\\" + i, ParentFolderId = folder.FolderId }); } } MockFolderItemList = new List <FolderItemExt>(); var item = new FolderItemExt(); //item.SmallData = new byte[] { 1, 2, 3, 4, 5, 6 }; item.Name = "image.jpg"; item.ContentType = "image"; item.FolderId = "subfolder"; MockFolderItemList.Add(item); var folderitem = new FolderItemExt { Name = "imageqw.jpg", ContentType = "image", FolderId = "folder", FolderItemId = "441584123544353" }; MockFolderItemList.Add(folderitem); MockLists = new IList[] { MockFolderList, MockFolderItemList }; }