示例#1
0
    private void CheckForExcess(BudgetPeriodData periodData)
    {
        List <DebtCollectRequest> requests = FormDebtCollectRequests(periodData);
        int sumDebt = _collector.ProcessDebtCollection(requests);

        if (sumDebt > 0 && _currentDebt > 0) //have money to pay
        {
            int toTake = Math.Min(_currentDebt, sumDebt);
            _currentDebt  -= toTake;
            _lastPayedDebt = toTake;
            _currentDebt   = Math.Max(_currentDebt, 0);
        }
        else if (sumDebt < 0)
        {
            _currentDebt -= sumDebt;
        }
    }
示例#2
0
    private List <DebtCollectRequest> FormDebtCollectRequests(BudgetPeriodData pd)
    {
        var requests = new List <DebtCollectRequest>();

        for (int i = 0; i < pd.RawPeriodData.Count; i++)
        {
            var req = new DebtCollectRequest()
            {
                Department = _departments.Departments[i],
                Allocated  = pd.DepartmentsAllocatedBudget[i],
                Spent      = pd.DepartmentsSpentMoney[i],
                Cards      = _cardsPeriodManager.GetCardsArrangement(_departments.Departments[i]),
                Costs      = pd.RawPeriodData[i].GetEachResourceMonthCost()
            };
            requests.Add(req);
        }
        return(requests);
    }