public void Handle(VerifiedCustomerEvent integrationEvent) { using (var unitOfWork = new CommandUnitOfWork(new CommandArgs(integrationEvent.Username, integrationEvent.CorrelationId))) { var customer = this.CustomerService.GetCustomer(integrationEvent.Customer.Username).Result; customer.SetVerified(); unitOfWork.RaiseEvent(new LogEvent($"Customer [{customer.Username}] is verified")); unitOfWork.Commit(); } }
public void Handle(NewCustomerSignupEvent integrationEvent) { using (var unitOfWork = new CommandUnitOfWork(CommandArgs.FromIntegrationEvent(integrationEvent))) { Thread.Sleep(3000); string verificationCode = this.GenerateCustomerCode(integrationEvent.NewCustomer); unitOfWork.RaiseEvent(new CustomerVerificationGeneratedEvent(integrationEvent.NewCustomer.Username, verificationCode)); unitOfWork.RaiseEvent(new LogEvent($"Customer [{integrationEvent.NewCustomer.Username}] verification code generated [{verificationCode}]")); CustomerVerification customerVerification = new CustomerVerification(integrationEvent.NewCustomer.Username, verificationCode); Context.CurrentContext.AddCustomerVerification(customerVerification); unitOfWork.Commit(); } }