Exemple #1
0
        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.");
            }
        }
Exemple #2
0
        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));
        }
Exemple #3
0
        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));
        }