public IDataSourceFile SetDataSource(string dataSourceFileName) { if (string.IsNullOrEmpty(dataSourceFileName)) { return(null); } ImportedSheets = new DataSheetCollection(); _dataSourceFile = _importer.LoadFile(_columnInfos, dataSourceFileName, _metaDataCategories); if (_dataSourceFile == null) { return(null); } setDefaultMetaData(); setMetaDataWithManualInput(); createSheetsForViewing(); View.SetGridSource(); SetDataFormat(_dataSourceFile.Format, _dataSourceFile.AvailableFormats); View.ClearTabs(); View.AddTabs(GetSheetNames()); View.ResetImportButtons(); View.SelectTab(_dataSourceFile.FormatCalculatedFrom); return(_dataSourceFile); }
private void loadSheets(IDataSourceFile dataSourceFile, IReadOnlyList <string> sheetNames, string filter, string selectedNamingConvention = null) { if (!sheetNames.Any()) { View.DisableConfirmationView(); return; } var sheets = dataSourceFile.DataSheets.GetDataSheetsByName(sheetNames); var dataMappings = dataSourceFile.Format.Parameters.OfType <MetaDataFormatParameter>().Where(p => p.ColumnName != null).Select(md => new MetaDataMappingConverter() { Id = md.MetaDataId, Index = sheetName => md.IsColumn ? dataSourceFile.DataSheets.GetDataSheetByName(sheetName).GetColumnDescription(md.ColumnName).Index : -1 }).ToList(); var mappings = dataMappings.Union ( dataSourceFile.Format.Parameters.OfType <GroupByDataFormatParameter>().Select(md => new MetaDataMappingConverter() { //in case of a duplicate name coming from an excel column used as a grouping by with the same name as a metaData, we add a suffix Id = dataMappings.ExistsById(md.ColumnName) ? md.ColumnName + Constants.ImporterConstants.GroupingBySuffix : md.ColumnName, Index = sheetName => dataSourceFile.DataSheets.GetDataSheetByName(sheetName).GetColumnDescription(md.ColumnName).Index }) ).ToList(); _dataSource.SetMappings(dataSourceFile.Path, mappings); _dataSource.NanSettings = _nanPresenter.Settings; _dataSource.SetDataFormat(_columnMappingPresenter.GetDataFormat()); var errors = _dataSource.AddSheets(sheets, _columnInfos, filter); errors.Add(validateDataSource(_dataSource)); _importerDataPresenter.SetTabMarks(errors, _dataSource.DataSets); if (errors.Any()) { throw new ImporterParsingException(errors); } var keys = new List <string>() { Constants.FILE, Constants.SHEET }; keys.AddRange(_dataSource.GetMappings().Select(m => m.Id)); _confirmationPresenter.SetKeys(keys); View.EnableConfirmationView(); _confirmationPresenter.SetViewingStateToNormal(); _confirmationPresenter.SetNamingConventions(_dataImporterSettings.NamingConventions.ToList(), selectedNamingConvention); }
public bool SetSourceFile(string path) { _dataSourceFile = _importerDataPresenter.SetDataSource(path); if (_dataSourceFile == null) { return(false); } _sourceFilePresenter.SetFilePath(path); _columnMappingPresenter.ValidateMapping(); _configuration.FileName = path; return(true); }
public override void GlobalContext() { base.GlobalContext(); _dataSourceFile = A.Fake <IDataSourceFile>(); _importer = A.Fake <IImporter>(); _view = A.Fake <IImporterDataView>(); _dataSheet = new DataSheet { SheetName = "sheet1" }; _dataSheet.AddColumn("test_column", 0); _dataSheet.AddRow(new List <string>() { "1" }); _dataSheet2 = new DataSheet { SheetName = "sheet2" }; _dataSheet2.AddColumn("test_column", 0); _dataSheet2.AddRow(new List <string>() { "1" }); _dataSheet3 = new DataSheet { SheetName = "sheet3" }; _dataSheet3.AddColumn("test_column", 0); _dataSheet3.AddRow(new List <string>() { "1" }); _sheetsCollection = new DataSheetCollection(); _sheetsCollection.AddSheet(_dataSheet); _sheetsCollection.AddSheet(_dataSheet2); _sheetsCollection.AddSheet(_dataSheet3); A.CallTo(() => _importer.LoadFile(A <ColumnInfoCache> ._, A <string> ._, A <IReadOnlyList <MetaDataCategory> > ._)).Returns(_dataSourceFile); A.CallTo(() => _view.GetActiveFilterCriteria()).Returns("active_filter_criteria"); A.CallTo(() => _dataSourceFile.DataSheets).Returns(_sheetsCollection); }
protected override void Context() { _dataImporterSettings = new DataImporterSettings(); base.Context(); _mapper = A.Fake <IDataSetToDataRepositoryMapper>(); var cache = new Cache <string, IDataSet>(); var dataSet = new DataSet(); dataSet.AddData(new List <ParsedDataSet>() { new ParsedDataSet(new List <string>(), A.Fake <DataSheet>(), new List <UnformattedRow>(), new Dictionary <ExtendedColumn, IList <SimulationPoint> >()) }); _dataSource = A.Fake <IDataSource>(); A.CallTo(() => _dataSource.DataSets).Returns(cache); cache.Add("sheet1", dataSet); var dataRepository = new DataRepository { Name = "name" }; dataRepository.ExtendedProperties.Add(new ExtendedProperty <string>() { Name = "Molecule", Value = "Molecule1" }); dataRepository.ExtendedProperties.Add(new ExtendedProperty <string>() { Name = "Mol weight", Value = 22.0.ToString() }); var dataColumn = new BaseGrid("Time", A.Fake <IDimension>()); var dataInfo = new DataInfo(ColumnOrigins.Undefined); dataColumn.DataInfo = dataInfo; dataRepository.Add(dataColumn); var moleculeDataColumn = new DataColumn("Measurement", A.Fake <IDimension>(), dataColumn); dataColumn.DataInfo = dataInfo; dataRepository.Add(moleculeDataColumn); A.CallTo(() => _mapper.ConvertImportDataSet(A <ImportedDataSet> .Ignored)).Returns(new DataSetToDataRepositoryMappingResult(dataRepository)); var moleculeMetaDataCategory = createMetaDataCategory <string>("Molecule", isMandatory: true); moleculeMetaDataCategory.IsListOfValuesFixed = true; moleculeMetaDataCategory.DefaultValue = "Molecule1"; moleculeMetaDataCategory.ListOfValues.Add("Molecule1", 6.0.ToString()); moleculeMetaDataCategory.ShouldListOfValuesBeIncluded = true; moleculeMetaDataCategory.SelectDefaultValue = true; _metaDataCategories = new List <MetaDataCategory>() { moleculeMetaDataCategory, createMetaDataCategory <string>("Mol weight", isMandatory: false) }; var dataFormat = A.Fake <IDataFormat>(); A.CallTo(() => dataFormat.Parameters).Returns(new List <DataFormatParameter>()); _dataSourceFile = A.Fake <IDataSourceFile>(); A.CallTo(() => _dataSourceFile.Format).Returns(dataFormat); _importerDataPresenter = A.Fake <IImporterDataPresenter>(); A.CallTo(() => _importerDataPresenter.SetDataSource(A <string> .Ignored)).Returns(_dataSourceFile); _importerView = A.Fake <IImporterView>(); _importer = A.Fake <IImporter>(); _nanPresenter = A.Fake <INanPresenter>(); _importConfirmationPresenter = A.Fake <IImportConfirmationPresenter>(); _columnMappingPresenter = A.Fake <IColumnMappingPresenter>(); _sourceFilePresenter = A.Fake <ISourceFilePresenter>(); _dialogCreator = A.Fake <IDialogCreator>(); _pkmlPeristor = A.Fake <IPKMLPersistor>(); sut = new ImporterPresenterForTest( _importerView, _mapper, _importer, _nanPresenter, _importerDataPresenter, _importConfirmationPresenter, _columnMappingPresenter, _sourceFilePresenter, _dialogCreator, _pkmlPeristor, _dataSource); _importerConfiguration = A.Fake <ImporterConfiguration>(); sut.LoadConfiguration(_importerConfiguration, ""); sut.SetSettings(_metaDataCategories, new ColumnInfoCache(), _dataImporterSettings); }
private void openFile(string configurationFileName) { _sourceFilePresenter.SetFilePath(configurationFileName); _dataSourceFile = _importerDataPresenter.SetDataSource(configurationFileName); }