Пример #1
0
        protected override void ImportRows(DataRowCollection dataRows)
        {
            var movimentos = new List <Movimento>();

            var movimentoAdapter = new MovimentoAdapter(ConnectionString);

            var existentMovimentos = movimentoAdapter.GetMovimentos();

            OnNumberOfRowsToImportDetermined(new NumberOfRowsEventArgs {
                NumberOfRows = dataRows.Count
            });

            foreach (DataRow dataRow in dataRows)
            {
                var movimento = new Movimento();

                foreach (var columnName in GetColumnNames())
                {
                    CopyColumnFromFile(ref movimento, columnName, dataRow);
                }

                OnRowTreated(EventArgs.Empty);

                if (string.IsNullOrEmpty(movimento.IBAN) || !IsNewMovimento(existentMovimentos, movimento))
                {
                    continue;
                }

                movimentos.Add(movimento);
            }

            movimentoAdapter.StoreMovimentos(movimentos);
        }
Пример #2
0
        protected override void ImportRows(TextFieldParser csvReader)
        {
            var movimentos = new List <Movimento>();

            var movimentoAdapter = new MovimentoAdapter(ConnectionString);

            var existentMovimentos = movimentoAdapter.GetMovimentos();

            OnNumberOfRowsToImportDetermined(new NumberOfRowsEventArgs {
                NumberOfRows = File.ReadAllLines(filePath).Length - 4
            });

            while (!csvReader.EndOfData)
            {
                var movimento = new Movimento();

                var fieldData = csvReader.ReadFields();

                if (fieldData == null)
                {
                    OnRowTreated(EventArgs.Empty);
                    continue;
                }

                if (AllFieldsEmpty(fieldData))
                {
                    break;
                }

                foreach (var columnToRead in columnsToRead)
                {
                    CopyExcelFileEntityColumnFromFile(ref movimento, columnToRead.Key, fieldData[columnToRead.Value]);
                }

                OnRowTreated(EventArgs.Empty);

                if (string.IsNullOrEmpty(movimento.IBAN) || !IsNewMovimento(existentMovimentos, movimento))
                {
                    continue;
                }

                movimentos.Add(movimento);
            }

            movimentoAdapter.StoreMovimentos(movimentos);
        }