/// <summary> /// Open ID or feature file and attempt to find data set that it should be associated with. /// </summary> /// <param name="resultFilePath">Path for result file to open and read.</param> /// <returns>Task that results in a value indicating whether or not the file was successfully read.</returns> private async Task <bool> OpenResultFile(string resultFilePath) { var resultFileName = Path.GetFileNameWithoutExtension(resultFilePath); var resultFileExtension = Path.GetExtension(resultFilePath); var dataSetViewModel = this.DataSets.FirstOrDefault(ds => ds.Title == resultFileName); string rawFilePath; if (dataSetViewModel == null) { rawFilePath = this.dataReader.GetRawFilesByDataSetName( Path.GetDirectoryName(resultFilePath), resultFileName).FirstOrDefault(); if (string.IsNullOrEmpty(rawFilePath)) { var selectDataVm = new SelectDataSetViewModel(this.dialogService, this.DataSets); if (this.dialogService.OpenSelectDataWindow(selectDataVm)) { // manually find raw file rawFilePath = selectDataVm.RawFilePath ?? string.Empty; if (string.IsNullOrEmpty(selectDataVm.RawFilePath)) { rawFilePath = selectDataVm.SelectedDataSet.Title; dataSetViewModel = selectDataVm.SelectedDataSet; } else { dataSetViewModel = await this.ReadRawFile(rawFilePath); } } } else { dataSetViewModel = await this.ReadRawFile(rawFilePath); } } else { rawFilePath = dataSetViewModel.Title; } if (!string.IsNullOrEmpty(rawFilePath) && dataSetViewModel != null && !string.IsNullOrEmpty(resultFileExtension) && FileConstants.IdFileExtensions.Contains(resultFileExtension.ToLower())) { // Valid raw file path, DataSetViewModel, and ID file path await this.ReadIdFile(resultFilePath, dataSetViewModel); return(true); } if (!string.IsNullOrEmpty(rawFilePath) && dataSetViewModel != null) { // Valid raw file path, DataSetViewModel, and feature file path await this.dataReader.OpenDataSet(dataSetViewModel, rawFilePath, featureFilePath : resultFilePath); return(true); } return(false); }
/// <summary> /// Open a dialog to select a data set. /// </summary> /// <param name="selectDataViewModel">The view model for the dialog.</param> /// <returns>A value indicating whether the user clicked OK on the dialog.</returns> public bool OpenSelectDataWindow(SelectDataSetViewModel selectDataViewModel) { var selectDataDialog = new SelectDataSetView { DataContext = selectDataViewModel }; selectDataViewModel.ReadyToClose += (o, e) => selectDataDialog.Close(); selectDataDialog.ShowDialog(); return(selectDataViewModel.Status); }
public bool OpenSelectDataWindow(SelectDataSetViewModel selectDataViewModel) { throw new NotImplementedException(); }