Implementation
List<FinFlow> get financialFlows {
final dateRange = DateRange(start, end);
for (var element in emptyFlows) {
element.sumClosings = 0;
element.sumTickets = 0;
}
if (emptyFlows.any((element) => element.type == FinFlow.balance)) {
emptyFlows.removeWhere((element) => element.type == FinFlow.balance);
}
emptyFlows = tickets.herderTkFinFlows(objectId, dateRange, emptyFlows);
emptyFlows =
closingsObjects.contactClFinFlows(objectId, dateRange, emptyFlows);
final sumtick = (emptyFlows.sellCovered.sumTickets -
emptyFlows.sellDeferred.sumTickets) -
(emptyFlows.spendCovered.sumTickets -
emptyFlows.spendDeferred.sumTickets) -
emptyFlows.wage.sumTickets;
final sumcl = (emptyFlows.sellCovered.sumClosings -
emptyFlows.sellDeferred.sumClosings) -
(emptyFlows.spendCovered.sumClosings -
emptyFlows.spendDeferred.sumClosings) -
emptyFlows.wage.sumClosings;
// balance is handmade
final finBalance = FinFlow(
FinFlow.balance,
sumTickets: sumtick,
sumClosings: sumcl,
);
emptyFlows.add(finBalance);
return emptyFlows;
}