Пример #1
0
        private void CreateData()
        {
            var random = new Random();

            foreach (var path in new[]
            {
                null,
                new[] { "FolderA", "FolderA1" },
                new[] { "FolderB", "FolderB1", "FolderB2" },
                new[] { "FolderC", "FolderC1", "FolderC2", "FolderC3" },
                new[] { "FolderD", "FolderD1" },
                new[] { "FolderD", "FolderD1", "FolderD2", "FolderD3", "FolderD4" },
            })
            {
                foreach (var binName in new[] { "Bin1", "Bin2", "Bin3" })
                {
                    var data = new byte[100];
                    random.NextBytes(data);
                    var nameTag            = _tags.AddOrGet(binName);
                    var binaryStorageClass = new BinaryStorageClass {
                        Id = Guid.NewGuid(), NameTag = nameTag
                    };
                    if (path != null)
                    {
                        binaryStorageClass.PathId = _paths.AddOrGet(path);
                    }
                    _binaries.Add(binaryStorageClass, data);
                }
            }
        }
Пример #2
0
 public LibraryFileNode MakeFileNode(BinaryStorageClass binary, Dispatcher dispatcher)
 {
     return(new LibraryFileNode(dispatcher, _eventAggregator)
     {
         Name = Tags[binary.NameTag],
         Id = binary.Id,
         Path = Paths[binary.PathId],
     });
 }
Пример #3
0
        private void AddNode(BinaryStorageClass binary)
        {
            var destination = FindParentNode(binary.PathId);
            var collection  = destination == null ? _sourceNodes : destination.Children;

            var node = MakeFileNode(binary);

            node.Parent = destination;
            collection.Add(node);
        }
Пример #4
0
        public Guid Add(BinaryStorageClass details, byte[] data)
        {
            if (details.Id == Guid.Empty)
            {
                details.Id = Guid.NewGuid();
            }

            details.FirstDataBlockId = _dataCache.Write(data);
            _items[details.Id]       = details;

            return(Guid.Empty);
        }
Пример #5
0
        private LibraryFileNode MakeFileNode(BinaryStorageClass binary)
        {
            var parent      = FindParentNode(binary.PathId);
            var pathStrings = GetPathStrings(_paths.Get(binary.PathId));
            var fileNode    = new LibraryFileNode(_dispatcher, _eventAggregator)
            {
                Name   = _tags.Get(binary.NameTag),
                Id     = binary.Id,
                Path   = pathStrings,
                Parent = parent,
            };

            _nodeIndex[binary.Id] = fileNode;
            return(fileNode);
        }
Пример #6
0
        public BinaryStorageClass AddFile(byte[] data, string name, string[] path, DateTime fileDateUtc, string fileContainerPath)
        {
            var id = Guid.NewGuid();

            History.Add(string.Format("Adding \"{0}\" Timestamp {1}, Size {2}, Container Path \"{3}\", Library path \"{4}\"",
                                      name, fileDateUtc, data.Length, fileContainerPath, path.Aggregate((t, i) => t + "\\" + i)));
            var binaryStorageClass = new BinaryStorageClass
            {
                DateAdded           = Date == default(DateTime) ? DateTime.Now : Date,
                Id                  = id,
                NameTag             = Tag(name),
                OriginalFileNameTag = Tag(name),
                OriginalPathTag     = Tag(fileContainerPath),
                PathId              = Path(path),
                OriginalBinaryDate  = fileDateUtc,
            };

            _binaries.Add(id, binaryStorageClass);
            return(binaryStorageClass);
        }
Пример #7
0
 public void Update(BinaryStorageClass details)
 {
 }
Пример #8
0
 public LibraryViewNode MakeNode(BinaryStorageClass binary)
 {
     return(_mockLibraryOps.MakeFileNode(binary, _dispatcher));
 }
Пример #9
0
        public LibraryViewNode MakeNode(BinaryStorageClass binary)
        {
            var libraryFileNode = MakeFileNode(binary);

            return(libraryFileNode);
        }