public static byte[] SerializeReport( PersonSalaryReport report ) { using( var memoryStream = new MemoryStream() ) { using( var sw = new StreamWriter( memoryStream ) ) { sw.WriteLine( GetHeaderLine() ); foreach( var personReportItem in report.Persons ) { sw.WriteLine( GetDataLine( personReportItem ) ); } sw.WriteLine( GetFooterLine( report ) ); sw.Flush(); return memoryStream.ToArray(); } } }
private static string GetFooterLine( PersonSalaryReport report ) { return GetReportLine( string.Empty, report.TotalSalary, report.TotalTaxes, report.TotalTakeHomeSalary ); }