public void Delete(Guid id) { ApiToken apiToken = _apiTokenRepository.Get(id); _apiTokenRepository.Delete(apiToken); _unitOfWork.Commit(); }
public void Delete(Guid id) { Customer customer = _customerRepository.Get(id); // Remove Customer from stripe service if (!string.IsNullOrEmpty(customer.PaymentCustomerId)) { try { if (StripeFactory.GetStripeService().GetCustomer(customer.PaymentCustomerId) != null) { StripeFactory.GetStripeService().DeleteCustomer(customer.PaymentCustomerId); } LoggingFactory.GetLogger().Log("Customer not found", EventLogSeverity.Fatal); }catch (Exception ex) { LoggingFactory.GetLogger().LogError(ex); } } _unitOfWork.Begin(); // Delete relations between users and roles foreach (var role in customer.Roles) { role.RoleUsers.Clear(); _roleRepository.Update(role); } // Delete Notes if (customer.Notes != null) { foreach (var note in customer.Notes.ToList()) { _noteRepository.Delete(note); } } // Delete API records if (customer.ApiTokens != null) { foreach (var apiToken in customer.ApiTokens.ToList()) { _apitokensRepository.Delete(apiToken); } } // Delete IPS records if (customer.IPSEntries != null) { foreach (var ipsEntry in customer.IPSEntries.ToList()) { _ipsEntryRepository.Delete(ipsEntry); } } //delete all reference list items if (customer.ReferenceListItems != null) { foreach (var item in customer.ReferenceListItems.ToList()) { _referenceListItemRepository.Delete(item); } } // delete all users if (customer.Users != null) { foreach (var user in customer.Users.ToList()) { _userRepository.Delete(user); } } //// delete all payments //foreach (var payment in _customerPaymentRepository.Query().Where(x => x.CustomerId == id).ToList()) //{ // _customerPaymentRepository.Delete(payment); //} //// delete all payment refunds //foreach (var paymentRefund in _customerPaymentRefundRepository.Query().Where(x => x.CustomerId == id).ToList()) //{ // _customerPaymentRefundRepository.Delete(paymentRefund); //} _customerRepository.Delete(customer); _unitOfWork.End(); }