/// <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> /// Dodjeljuje izvodaca radova na popravak ili odrzavanje /// </summary> /// <param name="contractor">izvodac radova</param> public virtual void SetContractor(Contractor contractor) { var errors = new BusinessRulesException<Maintenance>(); if (!BuildingManager.Contractors.Contains(contractor)) { errors.AddErrorForModel("Contractor is not working for BuildingManager, so it's invalid."); } if (!contractor.RepairServices.Contains(ServiceType)) { errors.AddErrorForModel("This Contractor can't do needed service."); } if (errors.Errors.Any()) { throw errors; } this.contractor = new PersonSnapshot(contractor.LegalPerson); statusOfMaintenance = StatusOfMaintenance.InProgress; }