Ejemplo n.º 1
0
        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();
                }
            };
        }
Ejemplo n.º 2
0
        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;
        }
Ejemplo n.º 3
0
 public BomFormat(IFormatterConfiguration formatterConfiguration, string selectedBom, ProductNumberModel productNumber)
 {
     this._formatterConfiguration = formatterConfiguration;
     this._selectedBom            = selectedBom;
     this._productNumberModel     = productNumber;
 }