/// <summary> /// Initializes a new instance of the <see cref="FileSystemType"/> class. /// </summary> /// <param name="fileSystemService">The application layer DiskService.</param> /// <param name="logger">The NLog logger instance.</param> public FileSystemType(IDiskService fileSystemService, ILogger logger) { this.Field(x => x.Name); this.Field(x => x.Type); this.Field(x => x.Total); this.Field <FileSystemStatusType>() .Name("Status") .ResolveAsync(async context => { logger.Debug("File System status field"); return(await fileSystemService.GetLastFileSystemStatusAsync(context.Source.Name)); }); this.Connection <FileSystemStatusType>() .Name("Statuses") .Bidirectional() .ResolveAsync(async context => { logger.Debug("File System statuses connection"); var pagingInput = context.GetPagingInput(); var statuses = await fileSystemService.GetFileSystemStatusesAsync(context.Source.Name, pagingInput); return(statuses.ToConnection()); }); }