public CreateOrderWorkflowStep(ManagementContext context, Organization beneficiary, Product product, Organization payer) : base(context) { this.beneficiary = beneficiary; this.product = product; this.payer = payer; }
public static ManagementContext Build() { var rtn = new ManagementContext(); var swis = new Application { Name = "SWIS" }; var cico = new Application { Name = "CICO" }; var isis = new Application { Name = "ISIS" }; var trainingProduct = new Product { Name = "SWIS Training" }; var swisSubscription = new Product { Name = "SWIS Subscription", Application = swis }; var cicoSubscription = new Product { Name = "CICO Subscription", Application = cico }; var isisSubscription = new Product { Name = "ISIS Subscription", Application = isis }; var hogwarts = new Organization { Name = "Hogwarts" }; var starfleet = new Organization { Name = "Starfleet Academy" }; var hogwartsFinancial = new FinancialAccount { Organization = hogwarts }; rtn.Applications.Add(swis); rtn.Applications.Add(cico); rtn.Applications.Add(isis); rtn.Products.Add(trainingProduct); rtn.Products.Add(swisSubscription); rtn.Products.Add(cicoSubscription); rtn.Products.Add(isisSubscription); rtn.Organizations.Add(hogwarts); rtn.Organizations.Add(starfleet); rtn.FinancialAccounts.Add(hogwartsFinancial); return rtn; }
public PlaceOrderWorkflow(ManagementContext db, Organization beneficiary, Product product, Organization payer) : base(db) { var orderStep = new CreateOrderWorkflowStep(db, beneficiary, product, payer); this.Add(orderStep, 1); if (product.Application != null) { var subStep = new AddSubscriptionWorkflowStep(db, beneficiary, product.Application); this.Add(subStep, 2); } }