public void Retirer(ICompte p_compte, decimal p_montant) { if (p_compte is null) { throw new ArgumentNullException(nameof(p_compte)); } if (p_montant <= 0) { throw new ArgumentException("Le montant doit être supérieur à 0", nameof(p_montant)); } ITransaction transaction = m_createurTransaction.CreerTransactionRetirer(p_compte, p_montant); if (transaction.EstValide()) { try { transaction.ExecuterTransaction(); m_tiroirArgent.DistribuerArgent(p_montant); } catch (Exception ex) { transaction.Annuler(); } } }
public void Retirer(ICompte p_compte, decimal p_montant) { ITransaction transaction = m_createurTransaction.CreerTransactionRetirer(p_compte, p_montant); if (transaction.EstValide()) { try { transaction.ExecuterTransaction(); m_tiroirArgent.DistribuerArgent(p_montant); } catch (Exception ex) { transaction.Annuler(); } } }