static void Main(string[] args) { using (var system = ActorSystem.Create("system")) { var contactKeeper = system.ActorOf <ContactKeeper>("contactKeeper"); var creditChecker = system.ActorOf <CreditChecker>("creditChecker"); var customerVault = system.ActorOf <CustomerVault>("customerVault"); var servicePlanner = system.ActorOf <ServicePlanner>("servicePlanner"); var processId = Guid.NewGuid(); var step1 = new ProcessStep("create_customer", customerVault); var step2 = new ProcessStep("set_up_contact_info", contactKeeper); var step3 = new ProcessStep("select_service_plan", servicePlanner); var step4 = new ProcessStep("check_credit", creditChecker); var registrationProcess = RegistrationProcess.Create(processId.ToString(), new List <ProcessStep> { step1, step2, step3, step4 }); var registrationData = new RegistrationData( new CustomerInformation("ABC, Inc.", "123-45-6789"), new ContactInformation(new PostalAddress("123 Main Street", "Suite 100", "Boulder", "CO", "80301"), new Telephone("303-555-1212")), new ServiceOption("99-1203", "A description of 99-1203.")); var registerCustomer = new RegisterCustomer(registrationData, registrationProcess); registrationProcess.NextStep().Processor.Tell(registerCustomer); Console.ReadLine(); } }
public RegisterCustomer(RegistrationData registrationData, RegistrationProcess registrationProcess) { RegistrationData = registrationData; RegistrationProcess = registrationProcess; }