示例#1
0
        /// <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);
        }
示例#2
0
        /// <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);
        }
示例#3
0
 public bool OpenSelectDataWindow(SelectDataSetViewModel selectDataViewModel)
 {
     throw new NotImplementedException();
 }