public Task <string> ProcessCommand(CreateOrderFlowContext context, IFlowCommand command) { return(command switch { GoToProductSelectionCommand goToProductSelectionCommand => DoProcessing(context, goToProductSelectionCommand), SubmitProductSelectionCommand submitCommand => DoProcessing(context, submitCommand), _ => throw new UnsupportedCommandException(), });
public Task <IActionResult> SubmitProductSelection(string flowState, SubmitProductSelectionCommand command) { return(ProcessCommand(flowState, command)); }
public Task <ProductSelectionViewModel> GetProductListPage(CreateOrderFlowContext context, SubmitProductSelectionCommand command) { var viewModel = new ProductSelectionViewModel { FlowContext = context, Product = command?.Product ?? context.Product, }; return(Task.FromResult(viewModel)); }
public Task <ContactDetailsViewModel> GetContactDetailsPage(CreateOrderFlowContext context, SubmitProductSelectionCommand command) { var viewModel = new ContactDetailsViewModel { FlowContext = context, Email = context.Email, }; return(Task.FromResult(viewModel)); }