/// <summary> /// Uplata novca dobivenog iz pricuve /// </summary> /// <param name="bill">racun</param> public virtual void ReceivePaymentFor(Bill bill) { // moze se samo naplatiti pricuva iz racuna za pricuvu, odnosno ako ga je izdala zgrada if (bill.Reserve != null && bill.To != null) { bill.SetPaid(); money += bill.TotalAmountWithTax; } else { var businessEx = new BusinessRulesException<Reserve>(); businessEx.AddErrorForModel("Nije moguce naplatiti pričuvu iz računa koji nije račun za pričuvu."); } }
/// <summary> /// Placanje racuna iz pricuve /// </summary> /// <param name="bill">racun</param> /// <returns></returns> public virtual bool PayBill(Bill bill) { var unpaidBills = GetUnpaidBills(); if(!unpaidBills.Contains(bill)) { throw new BusinessRulesException("Navedeni račun nije za naplatu pričuvom zgrade."); } if (money < bill.TotalAmountWithTax) { return false; } money -= bill.TotalAmountWithTax; bill.SetPaid(); return true; }