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);
 }