protected override async void ReadLASFileAction() { ProgressDialogController progressDialogController = await _dialogCoordinator.ShowProgressAsync(this, "Please wait...", "Finding headings..."); progressDialogController.Maximum = 100; await Task.Run(() => { List <StageModel> stageModels = new List <StageModel>(); int numberOfRows = Sections[SelectedDataSectionIndex].Content.Count(); progressDialogController.SetMessage("Beginning to read data..."); progressDialogController.SetProgress(0); progressDialogController.Maximum = numberOfRows; for (int currentRow = 0; currentRow < numberOfRows; currentRow++) { string[] splitLine = Sections[SelectedDataSectionIndex].Content[currentRow].SplitOnWhitespace(); bool shouldUse = true; if (LASFilterModels.Any()) { foreach (LASFilterModel lasFilterModel in LASFilterModels) { shouldUse = splitLine[lasFilterModel.HeadingIndex].Contains(lasFilterModel.FilterText); if (shouldUse == false) { break; } } } if (shouldUse) { double x = double.Parse(splitLine[SelectedXHeadingIndex]); double y = double.Parse(splitLine[SelectedYHeadingIndex]); double z = double.Parse(splitLine[SelectedZHeadingIndex]); stageModels.Add(new StageModel { StageNumber = int.Parse(splitLine[SelectedStageHeadingIndex]), Position = new Point3D(x, y, z) }); } progressDialogController.SetMessage($"Reading row {currentRow} of {numberOfRows}..."); progressDialogController.SetProgress(currentRow); } MessengerInstance.Send((stageModels, _wellID), MessageTokenStrings.AddStagesToManager); }); await progressDialogController.CloseAsync(); }
private async void AddFilterConditionAction() { LASFilterModel lasFilterModel = new LASFilterModel(); object dialogResult = await DialogHost.Show(lasFilterModel, DialogHostIdentifier); if (dialogResult is bool boolResult && boolResult) { LASFilterModels.Add(lasFilterModel); } }
private void RemoveFilterConditionAction() { LASFilterModels.Remove(SelectedLASFilterModel); }