public BomFormatFormViewModel(IWindowManager windowManager, SimpleContainer container, IFactory <PopUpViewModel> popUpViewFactory) { this._windowManager = windowManager; this._container = container; _popUpViewModelFactory = popUpViewFactory; IFormatterConfiguration config = _container.GetInstance <IFormatterConfiguration>(); _productNumber = new ProductNumberModel(config); BomSelectionModel = new BomSelectionModel(config); Activated += (object sender, ActivationEventArgs e) => { IFormatterConfiguration configuration = _container.GetInstance <IFormatterConfiguration>(); if (configuration.FileConfiguration.RootDirectory.Length == 0) { FolderSelect(); } }; }
public BomInput(ProductNumberModel productNumber, string absoluteInputFolderPath, string fileExtention, ConfigurationElementBom selectedBomConfig) { _productNumber = productNumber; string filePath = Path.Combine(absoluteInputFolderPath, _productNumber.ProductNumber + fileExtention); //_sheetName = GetSheetName(filePath, 1); FileStream fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite); IExcelDataReader excelFile = ExcelReaderFactory.CreateReader(fileStream); DataSet dataSet = excelFile.AsDataSet(new ExcelDataSetConfiguration() { UseColumnDataType = true, FilterSheet = (tableReader, sheetIndex) => true, ConfigureDataTable = (tableReader) => new ExcelDataTableConfiguration() { EmptyColumnNamePrefix = "Column", UseHeaderRow = true, FilterRow = (rowReader) => { return(true); }, ReadHeaderRow = (rowReader) => { // F.ex skip the first n rows and use n+1 row as the header for (int i = 0; i < selectedBomConfig.NumberOfRowsToSkip; i++) { rowReader.Read(); } }, FilterColumn = (rowReader, columnIndex) => { return(true); } } }); _inputData = dataSet.Tables[0]; _sheetName = _inputData.TableName; }
public BomFormat(IFormatterConfiguration formatterConfiguration, string selectedBom, ProductNumberModel productNumber) { this._formatterConfiguration = formatterConfiguration; this._selectedBom = selectedBom; this._productNumberModel = productNumber; }