Ejemplo n.º 1
0
 private void RemoveOldAmount()
 {
     if (IsEdit)
     {
         PaymentAmountHelper.RemovePaymentAmount(SelectedPayment.Payment);
     }
 }
        public void RemovePaymentAmount_AmountTransfer()
        {
            // Arrange
            var chargedAccount = new AccountEntity {
                Name = "Test", CurrentBalance = 0
            };
            var targetAccount = new AccountEntity {
                Name = "Test", CurrentBalance = 200
            };
            var payment = new Payment
            {
                Data = new PaymentEntity
                {
                    ChargedAccount = chargedAccount,
                    TargetAccount  = targetAccount,
                    Amount         = 200,
                    Type           = PaymentType.Transfer,
                    IsCleared      = true
                }
            };

            // Act
            PaymentAmountHelper.RemovePaymentAmount(payment);

            // Assert
            Assert.Equal(200, chargedAccount.CurrentBalance);
            Assert.Equal(0, targetAccount.CurrentBalance);
        }
        private void AddPaymentToChangeSet(ApplicationContext dbContext, Payment payment)
        {
            payment.ClearPayment();
            PaymentAmountHelper.AddPaymentAmount(payment);

            SaveOrUpdatePayment(dbContext, payment);
            SaveOrUpdateAccount(dbContext, payment.Account);
        }
Ejemplo n.º 4
0
 /// <inheritdoc />
 public async Task DeletePayment(Payment payment)
 {
     using (var dbContextScope = dbContextScopeFactory.Create())
     {
         PaymentAmountHelper.RemovePaymentAmount(payment);
         paymentRepository.Delete(payment.Data);
         await dbContextScope.SaveChangesAsync();
     }
 }
Ejemplo n.º 5
0
        private void AddPaymentToChangeSet(Payment payment)
        {
            payment.ClearPayment();
            PaymentAmountHelper.AddPaymentAmount(payment);

            UpdateAccount(payment);
            SaveOrUpdateRecurringPayment(payment);
            SaveOrUpdatePayment(payment);
        }
Ejemplo n.º 6
0
 private void AddPaymentToChangeSet(Payment payment)
 {
     payment.ClearPayment();
     PaymentAmountHelper.AddPaymentAmount(payment);
     if (payment.Data.Id == 0)
     {
         paymentRepository.Add(payment.Data);
     }
     else
     {
         paymentRepository.Update(payment.Data);
     }
 }
Ejemplo n.º 7
0
        private void AddPaymentToChangeSet(ApplicationContext dbContext, Payment payment)
        {
            payment.ClearPayment();
            PaymentAmountHelper.AddPaymentAmount(payment);

            if (payment.Data.IsRecurring)
            {
                SaveOrUpdateRecurringPayment(dbContext, payment.Data.RecurringPayment);
            }
            SaveOrUpdatePayment(dbContext, payment.Data);
            SaveOrUpdateAccount(dbContext, payment.Data.ChargedAccount);

            if (payment.Data.Type == PaymentType.Transfer)
            {
                SaveOrUpdateAccount(dbContext, payment.Data.TargetAccount);
            }
        }
        /// <inheritdoc />
        public async Task DeletePayment(int id, AppUser user)
        {
            using (var dbContextScope = dbContextScopeFactory.Create())
            {
                using (var dbContext = ambientDbContextLocator.Get <ApplicationContext>())
                {
                    var payment = await GetById(id, user);

                    PaymentAmountHelper.RemovePaymentAmount(payment);

                    var paymentEntry = dbContext.Entry(payment);
                    paymentEntry.State = EntityState.Deleted;

                    var chargedAccountEntry = dbContext.Entry(payment.Account);
                    chargedAccountEntry.State = EntityState.Modified;

                    await dbContextScope.SaveChangesAsync();
                }
            }
        }
        public void RemovePaymentAmount_AmountRemoved(PaymentType type, double expectedResult)
        {
            // Arrange
            var account = new AccountEntity {
                Name = "Test", CurrentBalance = 200
            };
            var payment = new Payment
            {
                Data = new PaymentEntity
                {
                    ChargedAccount = account,
                    Amount         = 200,
                    Type           = type,
                    IsCleared      = true
                }
            };

            // Act
            PaymentAmountHelper.RemovePaymentAmount(payment);

            // Assert
            Assert.Equal(expectedResult, account.CurrentBalance);
        }
Ejemplo n.º 10
0
        /// <inheritdoc />
        public async Task DeletePayment(Payment payment)
        {
            using (var dbContextScope = dbContextScopeFactory.Create())
            {
                using (var dbContext = ambientDbContextLocator.Get <ApplicationContext>())
                {
                    PaymentAmountHelper.RemovePaymentAmount(payment);

                    var paymentEntry = dbContext.Entry(payment.Data);
                    paymentEntry.State = EntityState.Deleted;

                    var chargedAccountEntry = dbContext.Entry(payment.Data.ChargedAccount);
                    chargedAccountEntry.State = EntityState.Modified;

                    if (payment.Data.TargetAccount != null)
                    {
                        var targetAccountEntry = dbContext.Entry(payment.Data.TargetAccount);
                        targetAccountEntry.State = EntityState.Modified;
                    }

                    await dbContextScope.SaveChangesAsync();
                }
            }
        }
Ejemplo n.º 11
0
 /// <inheritdoc />
 public async Task DeletePayment(Payment payment)
 {
     PaymentAmountHelper.RemovePaymentAmount(payment);
     paymentRepository.Delete(payment.Data);
     await unitOfWork.Commit();
 }