public static void LoadFileExtracts(ICodeSearchController host, string path, IEnumerable <FlatFilePositionViewModel> filePositions) { var positions = filePositions.ToList(); if (!positions.Any()) { return; } var request = new GetFileExtractsRequest { FileName = path, MaxExtractLength = host.GlobalSettings.MaxTextExtractLength, Positions = positions .Select(x => new FilePositionSpan { Position = x.Position, Length = x.Length }) .ToList() }; var uiRequest = new DispatchThreadServerRequest { Request = request, Id = "FlatFilePositionViewModel-" + path, Delay = TimeSpan.FromSeconds(0.0), OnDispatchThreadSuccess = (typedResponse) => { var response = (GetFileExtractsResponse)typedResponse; positions .Zip(response.FileExtracts, (x, y) => new { FilePositionViewModel = x, FileExtract = y }) .Where(x => x.FileExtract != null) .ForAll(x => x.FilePositionViewModel.SetTextExtract(x.FileExtract)); } }; host.DispatchThreadServerRequestExecutor.Post(uiRequest); }
private void LoadFileExtracts() { var positions = GetChildren() .OfType <FilePositionViewModel>() .ToList(); if (!positions.Any()) { return; } var request = new GetFileExtractsRequest { FileName = Path, MaxExtractLength = Controller.GlobalSettings.MaxTextExtractLength, Positions = positions .Select(x => new FilePositionSpan { Position = x.Position, Length = x.Length }) .ToList() }; var uiRequest = new UIRequest { Request = request, Id = "FileEntryViewModel-" + Path, Delay = TimeSpan.FromSeconds(0.0), OnSuccess = (typedResponse) => { var response = (GetFileExtractsResponse)typedResponse; positions .Zip(response.FileExtracts, (x, y) => new { FilePositionViewModel = x, FileExtract = y }) .Where(x => x.FileExtract != null) .ForAll(x => x.FilePositionViewModel.SetTextExtract(x.FileExtract)); } }; this.Controller.UIRequestProcessor.Post(uiRequest); }