Ejemplo n.º 1
0
        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);
 }