public bool Exists(string domainName) { using (var scope = ScopeProvider.CreateScope(autoComplete: true)) { return(_domainRepository.Exists(domainName)); } }
public Task Handle(DepositMoney message, IMessageHandlerContext context) { if (!_domainRepository.Exists <Domain.Aggregate.CashCard>(message.CardNumber)) { throw new AggregateNotFoundException($"Cash card {message.CardNumber} was not found"); } var cashCard = _domainRepository.GetById <Domain.Aggregate.CashCard>(message.CardNumber); cashCard.Deposit(message.AuditInfo, message.Quantity, DateTime.UtcNow); _domainRepository.Save(cashCard); log.Info($"card {cashCard.Id} balance is now {cashCard.Balance}"); return(Task.CompletedTask); }
public Task Handle(WithdrawMoney message, IMessageHandlerContext context) { var replyMessage = new WithDrawReponse(message.AuditInfo, message.CardNumber, message.Quantity, true);; try { if (!_domainRepository.Exists <Domain.Aggregate.CashCard>(message.CardNumber)) { throw new AggregateNotFoundException($"Cash card {message.CardNumber} was not found"); } var cashCard = _domainRepository.GetById <Domain.Aggregate.CashCard>(message.CardNumber); cashCard.Withdraw(message.AuditInfo, message.Quantity, DateTime.UtcNow); _domainRepository.Save(cashCard); log.Info($"card {cashCard.Id} balance is now {cashCard.Balance}"); return(context.Reply(replyMessage)); } catch (WithDrawException ex) { replyMessage.Message = ex.Message; replyMessage.WithDrawValid = false; return(context.Reply(replyMessage)); } }