Files
Distribution_GL/Services/CsvDocuments/BudgetVsActualCsvDocument.cs

22 lines
759 B
C#

using General_Ledger_Service.DTOs.Reports;
namespace General_Ledger_Service.Services.CsvDocuments
{
public static class BudgetVsActualCsvDocument
{
public static byte[] Generate(List<BudgetVsActualRowDto> rows)
{
var csv = new CsvBuilder();
csv.AddRow("Account Code", "Account Name", "Period Id", "Budgeted", "Actual", "Variance");
foreach (var row in rows)
{
csv.AddRow(row.AccountCode, row.AccountName, row.PeriodId, row.BudgetedAmount, row.ActualAmount, row.Variance);
}
csv.AddRow("", "TOTAL", "", rows.Sum(r => r.BudgetedAmount), rows.Sum(r => r.ActualAmount), rows.Sum(r => r.Variance));
return csv.Build();
}
}
}