diff --git a/ProjectFamilyBudget/Reports/ChartReport.cs b/ProjectFamilyBudget/Reports/ChartReport.cs index 57d5526..ca82f34 100644 --- a/ProjectFamilyBudget/Reports/ChartReport.cs +++ b/ProjectFamilyBudget/Reports/ChartReport.cs @@ -40,7 +40,11 @@ public class ChartReport return _peopleExpense .ReadPeopleExpense() .Where(x => x.DataReciept.Date == dateTime.Date) - .GroupBy(x => x.PeopleId, (key, group) => new { Id = key, Count = group.Sum(x => x.ExpensePeopleExpenses.FirstOrDefault(y => y.ExpenseId == expenseId)?.Sum )}) + .GroupBy(x => x.PeopleId, (key, group) => new + { + Id = key, + Count = group.Sum(x => x.ExpensePeopleExpenses.FirstOrDefault(y => y.ExpenseId == expenseId)?.Sum ?? 0) + }) .Select(x => (x.Id.ToString(), (double)x.Count)) .ToList(); } diff --git a/ProjectFamilyBudget/Reports/TableReport.cs b/ProjectFamilyBudget/Reports/TableReport.cs index 562cc2b..6f36aaf 100644 --- a/ProjectFamilyBudget/Reports/TableReport.cs +++ b/ProjectFamilyBudget/Reports/TableReport.cs @@ -13,7 +13,7 @@ public class TableReport private readonly IPeopleIncome _peopleIncomeRepository; private readonly IPeopleExpense _peopleExpenseRepository; private readonly ILogger _logger; - internal static readonly string[] item = ["Название операции", "Дата", "Заработано", "Потрачено"]; + internal static readonly string[] item = ["Человек", "Дата", "Заработано", "Потрачено"]; public TableReport(IPeopleIncome peopleIncomeRepository, IPeopleExpense peopleExpenseRepository, ILogger logger) { _peopleIncomeRepository = peopleIncomeRepository ?? throw new ArgumentNullException(nameof(peopleIncomeRepository)); @@ -25,7 +25,7 @@ public class TableReport try { new ExcelBuilder(filePath) - .AddHeader("Сводка по движению денег", 0, 3) + .AddHeader("Сводка по движению денег", 0, 4) .AddParagraph("за период", 0) .AddTable([15, 10, 15, 15], GetData(incomeId, expenseId, startDate, endDate)) .Build(); diff --git a/ProjectFamilyBudget/Repositories/Implementations/PeopleExpenseRepository.cs b/ProjectFamilyBudget/Repositories/Implementations/PeopleExpenseRepository.cs index 0c687e4..05f0812 100644 --- a/ProjectFamilyBudget/Repositories/Implementations/PeopleExpenseRepository.cs +++ b/ProjectFamilyBudget/Repositories/Implementations/PeopleExpenseRepository.cs @@ -93,10 +93,11 @@ public class PeopleExpenseRepository : IPeopleExpense using var connection = new NpgsqlConnection(_connectionString.ConnectionString); var querySelect = @"SELECT pe.*, epe.ExpenseId, epe.Sum FROM PeopleExpense pe INNER JOIN ExpensePeopleExpense epe on epe.PeopleExpenseId = pe.Id"; - var peopleExpenses = connection.Query(querySelect); + var peopleExpenses = connection.Query(querySelect); _logger.LogDebug("Полученные объекты: {json}", JsonConvert.SerializeObject(peopleExpenses)); - return peopleExpenses; + return peopleExpenses.GroupBy(x => x.Id, y => y, (key, value) => PeopleExpense.CreateOperation(value.First(), + value.Select(z => ExpensePeopleExpense.CreateElement(0, z.ExpenseId, z.Sum)))).ToList(); } catch (Exception ex) {