예제 #1
0
        public async Task <string> GetSubFolder(string file, string[] labels, SubFolders subFolder, IFormatter formatter)
        {
            _subFolders = subFolder;
            foreach (string label in labels)
            {
                KeysAlternatives keyAlternative = GetKeysFromLabel(label);
                _subFolders = _parser.InvokeWithAlternative(keyAlternative, _subFolders, file);
            }

            return(await _subFolders.GetSubFolder(formatter));
        }
        public SubFolders InvokeWithAlternative(KeysAlternatives keysAlternatives, SubFolders subFolders, string filePath)
        {
            var         metadataService = GetMetadataService(filePath);
            ActionModel model           = new ActionModel
            {
                File            = new FileInfo(filePath),
                MetadataService = metadataService,
                Folders         = subFolders,
                Type            = _actionType[keysAlternatives.Key],
                Alternative     = Instantiate(
                    new ActionModel
                {
                    MetadataService = metadataService,
                    Folders         = subFolders,
                    Type            = keysAlternatives.Alternative == null ? null : _actionType[keysAlternatives.Alternative]
                })
            };

            return(Instantiate(model));
        }