caseToBePaid = _caseDao.GetById(id); // It was not so simple... ;) caseToBePaid.Payments.Add(paymentDetails); caseToBePaid.RefreshOutstandingBalance(); _mmeGateway.RegisterPayment(/*...*/); if (paymentDetails.CardType == CardType.Credit) { // Message generation... _mailGateway.Send(/*...*/); } /* Send to PDA... */ }
caseToBePaid = _caseDao.GetById(id); // It was not so simple... ;) caseToBePaid.Payments.Add(paymentDetails); caseToBePaid.RefreshOutstandingBalance(); _mmeGateway.RegisterPayment(/*...*/); if (paymentDetails.CardType == CardType.Credit) { // Message generation... _mailGateway.Send(/*...*/); } /* Send to PDA... */ }
caseToBePaid = _caseDao.GetById(id); // It was not so simple... ;) caseToBePaid.Payments.Add(paymentDetails); caseToBePaid.RefreshOutstandingBalance(); _eventBus.Raise(new CardPaymentRegisteredEvent { Id = id, Details = paymentDetails }); }
_caseDao.GetById(id); // It was not so simple... ;) caseToBePaid.Payments.Add(paymentDetails); caseToBePaid.RefreshOutstandingBalance(); if (caseToBePaid.OutstandingBalance.IsZero) { _eventBus.Raise(new CasePaidEvent { Id = id }); } _eventBus.Raise(new CardPaymentRegisteredEvent { Id = id, Details = paymentDetails }); } public void RegisterCashPayment(EntityId id /*...*/)
_caseDao.GetById(id); // It was not so simple... ;) caseToBePaid.Payments.Add(paymentDetails); caseToBePaid.RefreshOutstandingBalance(); if (caseToBePaid.OutstandingBalance.IsZero) { _eventBus.Raise(new CasePaidEvent { Id = id }); } _eventBus.Raise(new CardPaymentRegisteredEvent { Id = id, Details = paymentDetails }); } public void RegisterCashPayment(EntityId id /*...*/)
_caseDao.GetById(id); // It was not so simple... ;) caseToBePaid.Payments.Add(paymentDetails); caseToBePaid.RefreshOutstandingBalance(); if (caseToBePaid.OutstandingBalance.IsZero) { _eventBus.Raise(new CasePaidEvent { Id = id }); } _eventBus.Raise(new CardPaymentRegisteredEvent { Id = id, Details = paymentDetails }); } public void RegisterCashPayment(EntityId id /*...*/)
_caseDao.GetById(id); // It was not so simple... ;) caseToBePaid.Payments.Add(paymentDetails); caseToBePaid.RefreshOutstandingBalance(); if (caseToBePaid.OutstandingBalance.IsZero) { _eventBus.Raise(new CasePaidEvent { Id = id }); } _eventBus.Raise(new CardPaymentRegisteredEvent { Id = id, Details = paymentDetails }); } public void RegisterCashPayment(EntityId id /*...*/) Utrata kontroli
_caseDao.GetById(id); // It was not so simple... ;) caseToBePaid.Payments.Add(paymentDetails); caseToBePaid.RefreshOutstandingBalance(); _eventBus.Raise(new CardPaymentRegisteredEvent { Id = id, Details = paymentDetails }); } public void RegisterCashPayment(EntityId id /*...*/)
być mały • Nie polegaj na skutkach ubocznych swojej implementacji • Jedno zdarzenie ma jedno źródło • Nie modeluj zdarzenia dla jednego handlera • Nie używajcie EF-a.