public async Task UpdateFolderPositions(IOperation operation, FolderShortNode node) { var folderWithChild = new Dictionary <int, IEnumerable <int> >(); ExtractNode(folderWithChild, node); var folders = folderWithChild.Select(pair => new FolderShortEntity { Id = pair.Key, NodeList = pair.Value }); await noteFolderStore.UpdateFolderPositions(operation, folders); }
private static void ExtractNode(IDictionary <int, IEnumerable <int> > folderWithChild, FolderShortNode node) { var ids = new List <int>(); foreach (var childNode in node.Nodes) { ExtractNode(folderWithChild, childNode); ids.Add(childNode.Id); } folderWithChild.Add(node.Id, ids); }