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;
 }
Exemplo n.º 4
0
 public Handler(
     IProviderContextProvider providerContextProvider,
     ISqlQueryDispatcher sqlQueryDispatcher,
     IClock clock,
     IRegionCache regionCache,
     MptxInstanceContext <FlowModel> flow)
 {
     _providerContextProvider = providerContextProvider;
     _sqlQueryDispatcher      = sqlQueryDispatcher;
     _clock       = clock;
     _regionCache = regionCache;
     _flow        = flow;
 }
Exemplo n.º 5
0
        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))));
        }
Exemplo n.º 6
0
 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;
 }
Exemplo n.º 7
0
 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;
 }
Exemplo n.º 9
0
 public IActionResult Child(MptxInstanceContext <MptxInstanceContextModelBinderTestsChildFlowState, MptxInstanceContextModelBinderTestsFlowState> flow) =>
 Json(new
 {
     flow.ParentState.Foo,
     flow.State.Bar
 });
Exemplo n.º 10
0
 public IActionResult Derived(MptxInstanceContext <IMptxInstanceContextModelBinderTestsFlowState> flow) =>
 Content(flow.State.Foo.ToString());
Exemplo n.º 11
0
 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;
 }
Exemplo n.º 14
0
 public Handler(MptxInstanceContext <FlowModel> flow, IRegionCache regionCache)
 {
     _flow        = flow;
     _regionCache = regionCache;
 }
Exemplo n.º 15
0
 public static Url WithMptxInstanceId <T>(this Url url, MptxInstanceContext <T> context)
     where T : IMptxState =>
 WithMptxInstanceId(url, context.InstanceId);