public void StopBankCard() { BankCard bankCard = BankCards.SingleOrDefault(card => !card.Disabled); if (bankCard != null) { bankCard.Disable(); } }
private static BankCardViewModel BuildViewModel(BankCardModule bankCardModule, AccountModule accountModule, BankCard bankCard) { var bankAccount = accountModule.Get(bankCard.AccountId); return new BankCardViewModel { Id = bankCard.Id, AccountNumber = bankAccount.AccountNumber, Status = bankCard.Disabled ? "Disabled" : "Active", Disabled = bankCard.Disabled }; }
public void IssueBankCard(int accountId) { if (bankCardRepository.Any(card => card.AccountId == accountId && !card.Disabled)) { throw new ValidationException("An account may only have one active bank card at a time."); } var newBankCard = new BankCard { AccountId = accountId, Disabled = false, }; Validator.ValidateObject(newBankCard, new ValidationContext(newBankCard)); bankCardRepository.Add(newBankCard); }
public BankCard IssueBankCard(int accountId) { try { var accountRepository = unitOfWork.GetRepository<Account>(); var account = accountRepository.Get(accountId); if (account.Closed) { throw new ValidationException("The account is closed"); } var bankCardRepository = unitOfWork.GetRepository<BankCard>(); if (bankCardRepository.Any(card => card.AccountId == accountId && !card.Disabled)) { throw new ValidationException("An account may only have one active bank card at a time."); } var newBankCard = new BankCard { AccountId = accountId, Disabled = false, }; Validator.ValidateObject(newBankCard, new ValidationContext(newBankCard)); bankCardRepository.Add(newBankCard); unitOfWork.Commit(); return newBankCard; } catch { unitOfWork.Rollback(); throw; } }