private IEnumerable <StatementRow> ParseCSV(string file) { // using (var reader = new StreamReader(file)) { // using (var csv = new CsvReader(reader)) { // csv.Configuration.HasHeaderRecord = true; // var records = csv.GetRecords<StatementRow>(); // return records.ToList(); // } // } List <StatementRow> statement = new List <StatementRow>(); using (CsvReader reader = new CsvReader(file)) { foreach (string[] values in reader.RowEnumerator) { StatementRow row = new StatementRow(); row.Date = Convert.ToDateTime(DateTime.ParseExact(values[0], "dd/MM/yyyy", CultureInfo.InvariantCulture)); row.Description = values[1]; row.Deposits = values[2] != "" ? CleanNumericData(values[2].Replace(",", string.Empty)) : 0.0; row.Withdrawals = values[3] != "" ? CleanNumericData(values[3].Replace(",", string.Empty)) : 0.0; row.Balance = values[4] != "" ? CleanNumericData(values[4].Replace(",", string.Empty)) : 0.0; statement.Add(row); //Console.WriteLine("Row {0} has {1} values.", reader.RowIndex, values.Length); } } return(statement); }
private BankTransaction CreateBankTransaction(StatementRow row) { var trans = new BankTransaction(); trans.TransactionDate = row.TransactionDate; trans.TransactionType = row.Type; trans.Description = row.Description; trans.DebitAmount = row.DebitAmount; trans.CreditAmount = row.CreditAmount; return(trans); }