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); }
/// <inheritdoc /> public async Task DeletePayment(Payment payment) { using (var dbContextScope = dbContextScopeFactory.Create()) { PaymentAmountHelper.RemovePaymentAmount(payment); paymentRepository.Delete(payment.Data); await dbContextScope.SaveChangesAsync(); } }
private void AddPaymentToChangeSet(Payment payment) { payment.ClearPayment(); PaymentAmountHelper.AddPaymentAmount(payment); UpdateAccount(payment); SaveOrUpdateRecurringPayment(payment); SaveOrUpdatePayment(payment); }
private void AddPaymentToChangeSet(Payment payment) { payment.ClearPayment(); PaymentAmountHelper.AddPaymentAmount(payment); if (payment.Data.Id == 0) { paymentRepository.Add(payment.Data); } else { paymentRepository.Update(payment.Data); } }
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); }
/// <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(); } } }
/// <inheritdoc /> public async Task DeletePayment(Payment payment) { PaymentAmountHelper.RemovePaymentAmount(payment); paymentRepository.Delete(payment.Data); await unitOfWork.Commit(); }