public void Handle(ProposalCreatedEvent evt)
        {
            _logger.LogInformation(GetLogMessage("Proposal: {0}"), evt.ProposalId);

            Parallel.Invoke(new List <Action>
            {
                () => ProposalCreatedSendProjectManagerEmail(evt.ProposalId),
                () => ProposalCreatedSendAgencyOwnerEmail(evt.ProposalId),
            }.ToArray());
        }
        public void Deveria_crir_a_proposta_corretamente_com_base_no_evento_recebido()
        {
            var proposalId        = Guid.NewGuid();
            var proposalLoanValue = 100;
            var proposalNumberOfMonthlyInstallments = 36;

            var(schema, action) = ("proposal", "created");

            String stringEvent = $"{Guid.NewGuid()},{schema},{action},{DateTime.Now},{proposalId},{proposalLoanValue},{proposalNumberOfMonthlyInstallments}";

            var @event = new ProposalCreatedEvent(stringEvent.Split(','));

            List <Proposal> proposals = new List <Proposal>();

            @event.Change(ref proposals);

            proposals.Should().HaveCount(1);

            var proposal = proposals.First();

            proposal.Id.Should().Be(proposalId);
            proposal.LoanValue.Should().Be(proposalLoanValue);
            proposal.NumberOfMonthlyInstallments.Should().Be(proposalNumberOfMonthlyInstallments);
        }
Esempio n. 3
0
 public void Consume(ProposalCreatedEvent ev)
 {
     _repo.Save(new Proposal(ev));
 }