protected virtual async Task Initialize(PathIdentifier identifier) { state = await pathService.OpenFolder(identifier); page = new ItemQueryResponse { PathName = identifier.LeafName, PathTree = state.Paths.Root, }; if (state.Folder != null) { var caseNumber = state.Folder.Read <string>("attribute.casenumber"); var lastName = state.Folder.Read <string>("attribute.lastname"); if (lastName != null) { if (caseNumber != null) { page.PathTree.Name = $"{lastName} ({caseNumber})"; } else { page.PathTree.Name = lastName; } } } filteredFiles = state.Folder.Files.Rows as IEnumerable <FileModel>; //A collection of files that we will use to build up our response. }
public async Task <PathServiceState> OpenFolder(FolderIdentifier identifier, bool skipPathParse = false, CancellationToken cancellationToken = default(CancellationToken)) { var folder = await Connection.Folder.GetAsync(identifier, new List <PopulationDirective> { new PopulationDirective { Name = nameof(FolderModel.Files) // and paging bits } }); if (folder != null) { var state = new PathServiceState() { Folder = folder, Paths = new PathProcessor(identifier) }; // add and filter the path reservations from metadata if (!skipPathParse) { state.Paths.Read(state.Folder); } return(state); } else { throw new Exception("Folder does not exist"); } }