public RecalculateBudgetJob( IBudgetRepository budgetRepository, ICommissionCalculationService commissionCalculationService) { _budgetRepository = budgetRepository; _commissionCalculationService = commissionCalculationService; }
public async Task CalculateTotalCost(ICommissionCalculationService commissionCalculationService) { var employeeCostTotal = _employeeCosts.Sum(i => i.Cost.Amount); var extraCostTotal = _extraCosts.Sum(i => i.Cost.Amount); var budgetPrice = new Price(employeeCostTotal + extraCostTotal, "PLN"); var commission = await commissionCalculationService.CalculateCommissionCostAsync(_projectId, budgetPrice); _totalCost = new Price(budgetPrice.Amount + commission.Amount, "PLN"); AddDomainEvent(new BudgetTotalCostCalculatedEvent(Id, _totalCost)); }