Beispiel #1
0
        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);
        }
Beispiel #2
0
        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 };
        }