public List <CommitFileHirarhicalData> GenerateSubDirectory(CommitFileHirarhicalData item, List <string> files, string parent, string directory) { InternalId++; files.ToList().ForEach(z => { item.SubChild.Add(new CommitFileHirarhicalData { Name = z.Split("/").LastOrDefault(), FullPathName = z, Id = parent, InternalId = InternalId, SubChild = new List <CommitFileHirarhicalData>() }); }); return(item.SubChild); }
public CommitFileHirarhicalData GenerateDirectory(string path, string count) { if (Directory.Exists(path)) { var dFiles = Directory.EnumerateFiles(path); var item = new CommitFileHirarhicalData { Name = path.Split("/").LastOrDefault(), FullPathName = path, InternalId = InternalId, Id = $"{count + 1}", SubChild = new List <CommitFileHirarhicalData>() }; item.SubChild = GenerateSubDirectory(item, dFiles.ToList(), $"{count}-{I++}", path); InternalId++; var directories = Directory.GetDirectories(path); directories.ToList().ForEach(e => { item.SubChild.Add(GenerateDirectory(e, $"{count}-{item.SubChild.Count + 1}")); }); return(item); } else { var item = new CommitFileHirarhicalData { Name = path, InternalId = InternalId, FullPathName = path, Id = $"{count + 1}" }; InternalId++; return(item); } }