Exemple #1
0
        private string BuildPath(INode megaNzNode, Dictionary <string, INode> megaNzNodeDictionary)
        {
            if (megaNzNode.Type == NodeType.Root)
            {
                return(string.Empty);
            }

            if (megaNzNode.Type != NodeType.File)
            {
                var parentNode = megaNzNodeDictionary[megaNzNode.ParentId];
                var path       = BuildPath(parentNode, megaNzNodeDictionary) + @"\" + megaNzNode.Name;
                return(path);
            }
            else
            {
                // Extract the filename, removing the last modification date (only for file)
                string   filename;
                DateTime datetime;
                NameHandler.ExtractFilenameAndDateTimeFromRemoteFilename(megaNzNode.Name, out filename, out datetime);

                var parentNode = megaNzNodeDictionary[megaNzNode.ParentId];
                var path       = BuildPath(parentNode, megaNzNodeDictionary) + @"\" + filename;

                return(path);
            }
        }
Exemple #2
0
        public void ExtractFileNameAndDateTimeFromName_shouldReturnTheCorrectDateTime()
        {
            const string oringalFilename = "filename_[[2016-1-1-0-0-0]].jpeg";

            string   extractedFilename;
            DateTime extractedDatetime;

            NameHandler.ExtractFilenameAndDateTimeFromRemoteFilename(oringalFilename, out extractedFilename, out extractedDatetime);

            Assert.AreEqual(new DateTime(2016, 1, 1, 0, 0, 0), extractedDatetime);
        }
Exemple #3
0
        public MegaNzItem(INode megaNzNode, Dictionary <string, INode> megaNzNodeDictionary)
        {
            MegaNzNode = megaNzNode;

            switch (megaNzNode.Type)
            {
            case NodeType.Root:
                Name = @"\";
                Type = ItemType.Folder;
                Path = @"\";
                Size = 0;
                break;

            case NodeType.Directory:
                Name = megaNzNode.Name;
                Type = ItemType.Folder;
                Path = BuildPath(megaNzNode, megaNzNodeDictionary) + @"\";
                Size = 0;
                break;

            case NodeType.File:
                Type = ItemType.File;
                Path = BuildPath(megaNzNode, megaNzNodeDictionary);
                Size = megaNzNode.Size;

                // Extract the filename, removing the last modification date
                string   filename;
                DateTime datetime;
                NameHandler.ExtractFilenameAndDateTimeFromRemoteFilename(megaNzNode.Name, out filename, out datetime);
                Name         = filename;
                LastModified = datetime;
                break;

            default:
                throw new InvalidOperationException("Not able to create an item for INode that are not Directory or File");
            }
        }