public void ReadFromReader(StreamReader caisReader) { int linesRead = 0; string line; while ((line = caisReader.ReadLine()) != null) { linesRead++; if (Trailer.IsTrailer(line)) { Trailer.Deserialize(line); break; } if (linesRead == 1) { Header.Deserialize(line); continue; } var acc = new BusinessAccountRecord(); acc.Deserialize(line); Accounts.Add(acc); } if (linesRead < 2) { throw new Exception("Invalid input string, at least 3 lines expected"); } }
//----------------------------------------------------------------------------------- public void ReadFromString(string data) { var lines = data.Split(new[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries); if (lines.Length < 2) { throw new Exception("Invalid input string, at least 3 lines expected"); } Header.Deserialize(lines[0]); for (int i = 1; i < lines.Length - 1; i++) { var acc = new BusinessAccountRecord(); acc.Deserialize(lines[i]); Accounts.Add(acc); } Trailer.Deserialize(lines[lines.Length - 1]); }