public async Task <IActionResult> ClassroomLocation( ClassroomLocation.Command command, [FromForm(Name = "Action")] string action, [FromServices] MptxInstanceContext <ClassroomLocation.FlowModel, ClassroomLocation.IFlowModelCallback> flow, [FromServices] MptxManager mptxManager) { return(await _mediator.SendAndMapResponse( command, response => response.Match <IActionResult>( errors => this.ViewFromErrors(errors).WithViewData("CompletionUrl", flow.Items["ReturnUrl"]), success => { if (action == "AddAnother") { // Create a sibling flow to this one var addAnotherInstance = mptxManager.CreateInstance <ClassroomLocation.FlowModel, ClassroomLocation.IFlowModelCallback>( flow.ParentInstanceId, Apprenticeships.ClassroomLocation.FlowModel.Add(flow.State.ProviderId, cancelable: true), flow.Items); return RedirectToAction(nameof(ClassroomLocation)) .WithMptxInstanceId(addAnotherInstance); } else { return Redirect(flow.Items["ReturnUrl"].ToString()); } }))); }
public async Task <IActionResult> ClassroomLocation( ClassroomLocation.Query query, [FromServices] MptxInstanceContext <ClassroomLocation.FlowModel, ClassroomLocation.IFlowModelCallback> flow) { return(await _mediator.SendAndMapResponse( query, vm => View(vm).WithViewData("CompletionUrl", flow.Items["ReturnUrl"]))); }
public Handler( ICosmosDbQueryDispatcher cosmosDbQueryDispatcher, MptxInstanceContext <FlowModel> flow, ICurrentUserProvider currentUserProvider, IClock clock) { _cosmosDbQueryDispatcher = cosmosDbQueryDispatcher; _flow = flow; _currentUserProvider = currentUserProvider; _clock = clock; }
public Handler( IProviderContextProvider providerContextProvider, ISqlQueryDispatcher sqlQueryDispatcher, IClock clock, IRegionCache regionCache, MptxInstanceContext <FlowModel> flow) { _providerContextProvider = providerContextProvider; _sqlQueryDispatcher = sqlQueryDispatcher; _clock = clock; _regionCache = regionCache; _flow = flow; }
public async Task <IActionResult> Search(SearchQuery query, [FromServices] MptxManager mptxManager) { Flow = mptxManager.CreateInstance(new FlowModel()); var returnUrl = new Url(Url.Action(nameof(CourseSelected))) .WithMptxInstanceId(Flow.InstanceId) .WithProviderContext(_providerContext); ViewData["ReturnUrl"] = returnUrl.ToString(); return(await _mediator.SendAndMapResponse(query, response => response.Match <IActionResult>( errors => this.ViewFromErrors(nameof(ChooseQualification), errors), success => View("ChooseQualification", success)))); }
public Handler( MptxInstanceContext <FlowModel> flow, ISqlQueryDispatcher sqlQueryDispatcher, IRegionCache regionCache, IProviderContextProvider providerContextProvider, ICurrentUserProvider currentUserProvider, IClock clock) { _flow = flow; _sqlQueryDispatcher = sqlQueryDispatcher; _regionCache = regionCache; _providerContextProvider = providerContextProvider; _currentUserProvider = currentUserProvider; _clock = clock; }
public Handler( MptxInstanceContext <FlowModel> flow, ISqlQueryDispatcher sqlQueryDispatcher, ICosmosDbQueryDispatcher cosmosDbQueryDispatcher, ICurrentUserProvider currentUserProvider, IClock clock, IProviderInfoCache providerInfoCache) { _flow = flow; _sqlQueryDispatcher = sqlQueryDispatcher; _cosmosDbQueryDispatcher = cosmosDbQueryDispatcher; _currentUserProvider = currentUserProvider; _clock = clock; _providerInfoCache = providerInfoCache; }
public Handler(MptxInstanceContext<FlowModel> flow) { _flow = flow; }
public IActionResult Child(MptxInstanceContext <MptxInstanceContextModelBinderTestsChildFlowState, MptxInstanceContextModelBinderTestsFlowState> flow) => Json(new { flow.ParentState.Foo, flow.State.Bar });
public IActionResult Derived(MptxInstanceContext <IMptxInstanceContextModelBinderTestsFlowState> flow) => Content(flow.State.Foo.ToString());
public IActionResult WrongStateType(MptxInstanceContext <MptxInstanceContextModelBinderTestsDifferentFlowState> flow) => Ok();
public async Task <IActionResult> RemoveClassroomLocationPost( [FromServices] MptxInstanceContext <ClassroomLocation.FlowModel, ClassroomLocation.IFlowModelCallback> flow) => await _mediator.SendAndMapResponse( new ClassroomLocation.RemoveCommand(), success => Redirect(flow.Items["ReturnUrl"].ToString()));
public Handler(IFileUploadProcessor fileUploadProcessor, IProviderContextProvider providerContextProvider, MptxInstanceContext <FlowModel> flow) { _fileUploadProcessor = fileUploadProcessor; _providerContextProvider = providerContextProvider; _flow = flow; }
public Handler(MptxInstanceContext <FlowModel> flow, IRegionCache regionCache) { _flow = flow; _regionCache = regionCache; }
public static Url WithMptxInstanceId <T>(this Url url, MptxInstanceContext <T> context) where T : IMptxState => WithMptxInstanceId(url, context.InstanceId);