public async Task <WireTransfer> GetIncomingTransferById(BankAccountId beneficiaryBankAccountId, WireTransferId wireTransferId) { var builder = Builders <WireTransferMongoDocument> .Filter; var filterByTransaction = builder.Where(x => x.WireTransferId == wireTransferId.Value.ToString() && x.BeneficiaryAccountId == beneficiaryBankAccountId.Value.ToString()); var connection = _connectionFactory.GetCqrsConnection(); var wireTransferCollection = connection.GetCollection <WireTransferMongoDocument>(DbNames.WireTransfersInCqrsCollectionName); var document = await wireTransferCollection .Find(filterByTransaction).FirstOrDefaultAsync(); if (document is null) { throw new NotFoundException("No wire transfers found for this code"); } return(document.WrapToWireTransfer()); }
public WireTransferBuilder WithId(Guid id) { Id = new WireTransferId(id); return(this); }