From 1807d1fa4d99caff776bb3ca5e1faad2d5942445 Mon Sep 17 00:00:00 2001 From: Hamid Reza Mohammadi Date: Sat, 5 Jun 2021 16:25:23 +0430 Subject: [PATCH] #129 showing uncovered expenses --- .../Implementation/DonationService.cs | 48 +++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/RMuseum/Services/Implementation/DonationService.cs b/RMuseum/Services/Implementation/DonationService.cs index 14326bb1..bd7dc479 100644 --- a/RMuseum/Services/Implementation/DonationService.cs +++ b/RMuseum/Services/Implementation/DonationService.cs @@ -403,6 +403,54 @@ namespace RMuseum.Services.Implementation htmlText += $"باقیماندهٔ قابل هزینهٔ کمکهای دریافتی تا {donations[0].DateString} برابر {remSum.ToString("N0", new CultureInfo("fa-IR")).ToPersianNumbers()} تومان است.{Environment.NewLine}"; htmlText += $"

{Environment.NewLine}"; + var expenses = + await _context.GanjoorExpenses + .Include(e => e.DonationExpenditures) + .Where(e => !string.IsNullOrEmpty(e.Unit) && (e.Amount - e.DonationExpenditures.DefaultIfEmpty().Sum(x => x.Amount)) > 0) + .OrderBy(e => e.Id) + .ToListAsync(); + if(expenses.Count > 0) + { + htmlText += $"

هزینه‌های پوشش داده نشده

{Environment.NewLine}"; + + htmlText += $"

کمکهای آتی دریافتی صرف پوشش هزینه‌های زیر خواهد شد:

{Environment.NewLine}"; + + htmlText += $"{Environment.NewLine}"; + + htmlText += $"{Environment.NewLine}"; + htmlText += $"{Environment.NewLine}"; + htmlText += $"{Environment.NewLine}"; + htmlText += $"{Environment.NewLine}"; + htmlText += $"{Environment.NewLine}"; + htmlText += $"{Environment.NewLine}"; + htmlText += $"{Environment.NewLine}"; + + for (int i = 0; i < expenses.Count; i++) + { + var expense = expenses[i]; + + string cssClass = i % 2 == 0 ? " class=\"e\"" : ""; + + + var expenseDateString = $"{expense.ExpenseDate.ToPersianYearMonthDay().Day.ToPersianNumbers()}م {PersianCulture.GetPersianMonthName(expense.ExpenseDate.ToPersianYearMonthDay().Month)} {expense.ExpenseDate.ToPersianYearMonthDay().Year.ToPersianNumbers()}"; + + var expenseRem = expense.Amount; + if (expense.DonationExpenditures.Count > 0) + expenseRem -= expense.DonationExpenditures.Sum(x => x.Amount); + + htmlText += $"{Environment.NewLine}"; + htmlText += $"{Environment.NewLine}"; + htmlText += $"{Environment.NewLine}"; + htmlText += $"{Environment.NewLine}"; + htmlText += $"{Environment.NewLine}"; + htmlText += $"{Environment.NewLine}"; + htmlText += $"{Environment.NewLine}"; + } + + + htmlText += $"
ردیفتاریخمبلغعنوانمانده
{(i + 1).ToPersianNumbers()}{expenseDateString}{expense.Amount.ToString("N0", new CultureInfo("fa-IR")).ToPersianNumbers()} {expense.Unit}{expense.Description}{expenseRem.ToString("N0", new CultureInfo("fa-IR")).ToPersianNumbers()} {expense.Unit}
{Environment.NewLine}"; + } + htmlText += $"

کمکهای دریافت شده تا به حال

{Environment.NewLine}"; htmlText += $"{Environment.NewLine}";