private async Task <bool> HasValidAccount(string accountNumber) { var account = _unitOfWork.Account.GetFirstOrDefault(a => a.AccountNumber == accountNumber); var checkAccountValidityEvent = new CheckAccountValidity(); checkAccountValidityEvent.AccountId = account.AccountId; checkAccountValidityEvent.TransactionType = TransactionTypes.TRANSFERFUND; checkAccountValidityEvent.Balance = account.Balance; checkAccountValidityEvent.Status = (account.IsValid ? AccountStatus.VALID : AccountStatus.ACCOUNT_DISABLED); await _messagePublisher.PublishMessageAsync(checkAccountValidityEvent.MessageType, checkAccountValidityEvent, ""); return(account.IsValid); }
private async Task <bool> HasValidAccount(WithdrawCommand request) { var account = _unitOfWork.Account.GetFirstOrDefault(a => a.AccountNumber == request.AccountNumber); var checkAccountValidityEvent = new CheckAccountValidity { AccountId = account.AccountId, TransactionType = TransactionTypes.WITHDRAWAL, Balance = account.Balance, Status = (account.IsValid ? AccountStatus.VALID : AccountStatus.ACCOUNT_DISABLED) }; await _messagePublisher.PublishMessageAsync(checkAccountValidityEvent.MessageType, checkAccountValidityEvent, ""); return(account.IsValid); }