22 lines
759 B
C#
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();
|
|
}
|
|
}
|
|
}
|