Fix: Passt an, dass bei monatlichen Transaktionen der Tag entsprechend hergenommen wird

This commit is contained in:
2026-01-25 16:34:14 +01:00
parent c86c2dd888
commit 78add73278
2 changed files with 66 additions and 2 deletions

View File

@@ -67,15 +67,51 @@ class GenerateTransactionsTask extends Task {
case TimeFrameEnum.weekly:
newTransactionDate = lastTransactionDate.add(const Duration(days: 7));
case TimeFrameEnum.monthly:
newTransactionDate = DateUtils.addMonthsToMonthDate(
final DateTime monthDate = DateUtils.addMonthsToMonthDate(
lastTransactionDate,
1,
);
final int day =
recurringTransaction.startDate!.day <
DateUtils.getDaysInMonth(
monthDate.year,
monthDate.day,
)
? recurringTransaction.startDate!.day
: DateUtils.getDaysInMonth(
monthDate.year,
monthDate.month,
);
newTransactionDate = DateTime(
monthDate.year,
monthDate.month,
day,
);
case TimeFrameEnum.yearly:
newTransactionDate = DateUtils.addMonthsToMonthDate(
final DateTime monthDate = DateUtils.addMonthsToMonthDate(
lastTransactionDate,
12,
);
final int day =
recurringTransaction.startDate!.day <
DateUtils.getDaysInMonth(
monthDate.year,
monthDate.day,
)
? recurringTransaction.startDate!.day
: DateUtils.getDaysInMonth(
monthDate.year,
monthDate.month,
);
newTransactionDate = DateTime(
monthDate.year,
monthDate.month,
day,
);
}
} else {
newTransactionDate = recurringTransaction.startDate!;