private void ValidateDeletionRules(PimsSecurityDeposit deposit) { IEnumerable <PimsSecurityDepositReturn> depositReturns = _securityDepositReturnRepository.GetByDepositId(deposit.SecurityDepositId); if (depositReturns.Any()) { throw new InvalidOperationException("Deposits with associated returns cannot be deleted."); } }
public PimsLease AddLeaseDeposit(long leaseId, long leaseRowVersion, PimsSecurityDeposit deposit) { _user.ThrowIfNotAuthorized(Permissions.LeaseAdd); ValidateServiceCall(leaseId, leaseRowVersion); _securityDepositRepository.Add(deposit); _securityDepositRepository.CommitTransaction(); return(_leaseRepository.Get(leaseId)); }
public PimsLease UpdateLeaseDeposit(long leaseId, long leaseRowVersion, PimsSecurityDeposit deposit) { _user.ThrowIfNotAuthorized(Permissions.LeaseEdit); ValidateServiceCall(leaseId, leaseRowVersion); var currentHolder = _securityDepositRepository.GetById(deposit.SecurityDepositId).PimsSecurityDepositHolder; if (currentHolder != null) { deposit.PimsSecurityDepositHolder.SecurityDepositHolderId = currentHolder.SecurityDepositHolderId; deposit.PimsSecurityDepositHolder.ConcurrencyControlNumber = currentHolder.ConcurrencyControlNumber; } _securityDepositRepository.Update(deposit); _securityDepositRepository.CommitTransaction(); return(_leaseRepository.Get(leaseId)); }