Example #1
0
        public FeatureFolderViewModel SubFolder(string path, bool createIfNotExists = false)
        {
            if (string.IsNullOrEmpty(path))
            {
                return this;
            }

            var split = path.Split("/".ToCharArray(), 2);
            var folder = SubFolders.SingleOrDefault(x => x.Name == split[0]);

            if (folder != null)
            {
                return folder.SubFolder(split.ElementAtOrDefault(1), createIfNotExists);
            }
            if (createIfNotExists)
            {
                var newFolder = new FeatureFolderViewModel(split[0]);
                SubFolders.Add(newFolder);
                return newFolder.SubFolder(split.ElementAtOrDefault(1), createIfNotExists);
            }

            throw new Exception(string.Format("Folder not found {0} in {1}", path, Name));
        }