all done
This commit is contained in:
parent
15edafea60
commit
7b71e9de81
@ -29,7 +29,7 @@ namespace FamilyBudget.Reports
|
|||||||
{
|
{
|
||||||
new PdfBuilder(filePath)
|
new PdfBuilder(filePath)
|
||||||
.AddHeader("Расходы")
|
.AddHeader("Расходы")
|
||||||
.AddPieChart("Выбранные категории", GetData(expenseId, dateTime))
|
.AddPieChart($"Траты за {dateTime:dd MMMM yyyy}", GetData(expenseId, dateTime))
|
||||||
.Build();
|
.Build();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -42,13 +42,12 @@ namespace FamilyBudget.Reports
|
|||||||
private List<(string Caption, double Value)> GetData(int expenseId, DateTime dateTime)
|
private List<(string Caption, double Value)> GetData(int expenseId, DateTime dateTime)
|
||||||
{
|
{
|
||||||
var data = _expenseBudget
|
var data = _expenseBudget
|
||||||
.ReadExpenseBudgets()
|
.ReadExpenseBudgets(dateFrom: dateTime.Date, dateTo: dateTime.Date.AddDays(1), BudgetExpenseId: expenseId)
|
||||||
.Where(x => x.Date.Date == dateTime.Date)
|
|
||||||
.GroupBy(x => x.FamilyMemberId, (key, group) => new {
|
.GroupBy(x => x.FamilyMemberId, (key, group) => new {
|
||||||
Id = key,
|
FullName = group.FirstOrDefault()?.FullName ?? "Unknown",
|
||||||
Count = group.Sum(x => x.FamilyMember_Expenses.FirstOrDefault(x => x.ExpenseBudgetCategoryID == expenseId)?.Sum ?? 0)
|
Count = group.Sum(x => x.FamilyMember_Expenses.FirstOrDefault(x => x.ExpenseBudgetCategoryID == expenseId)?.Sum ?? 0)
|
||||||
})
|
})
|
||||||
.Select(x => (x.Id.ToString(), (double)x.Count))
|
.Select(x => (x.FullName.ToString(), (double)x.Count))
|
||||||
.ToList();
|
.ToList();
|
||||||
|
|
||||||
return data;
|
return data;
|
||||||
|
@ -35,11 +35,10 @@ namespace FamilyBudget.Reports
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Подрезаем длинные подписи и фильтруем слишком малые значения
|
|
||||||
data = data
|
data = data
|
||||||
.Where(x => x.Value > 0.01) // Исключить слишком маленькие значения
|
.Where(x => x.Value > 0.01)
|
||||||
.Select(x => (
|
.Select(x => (
|
||||||
Caption: x.Caption.Length > 10 ? x.Caption.Substring(0, 10) + "..." : x.Caption,
|
Caption: x.Caption,
|
||||||
Value: x.Value
|
Value: x.Value
|
||||||
)).ToList();
|
)).ToList();
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user