public async Task <TransferInstruction> PersistAndGet( EngageWithTransferAgreementInstructionCreatedEvent e, CancellationToken ct) { var entity = Map(e); await _transferInstructions.InsertOneAsync(entity, null, ct); return(entity); }
public async Task <TransferInstruction> FindMatchingTransferInstruction( EngageWithTransferAgreementInstructionCreatedEvent e, CancellationToken ct) { return(await Query() .Find(i => i.EngagingClubId == e.EngagingClubId && i.ReleasingClubId == e.ReleasingClubId && i.PlayerId == e.PlayerId && i.Type == TransferInstructionType.Releasing) .FirstOrDefaultAsync(ct)); }
private TransferInstruction Map(EngageWithTransferAgreementInstructionCreatedEvent e) { return(new() { EngagingClubId = e.EngagingClubId, ReleasingClubId = e.ReleasingClubId, PlayerId = e.PlayerId, PlayersContract = e.PlayersContract, Id = Guid.NewGuid(), Type = TransferInstructionType.Engaging, CreatedOn = DateTime.Now }); }