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)); }