コード例 #1
0
ファイル: UiFlowController.cs プロジェクト: weedkiller/flox
        private async Task <IActionResult> _GetNewContainedView(GetNewContainedViewRequest request)
        {
            var containedViewRequest = new SetContainedViewRequest <IActionResult>
            {
                FlowHandler               = request.FlowHandler,
                ViewCustomizations        = ControllerContext.RouteData.Values.ToExpandoObject(Request.Query),
                NewContainedFlowType      = request.NewContainedFlowType,
                NewContainedFlowStartType = request.StartType
            };

            AddDefaultCallbackHandlers(containedViewRequest);


            containedViewRequest.OnRedirectToCurrent = async(type, handler) =>
            {
                var routeValues = await HttpContext.ToEncryptedRouteValuesAsync(
                    new CurrentViewRequest
                {
                    FlowHandler = handler
                }, containedViewRequest.ViewCustomizations.RemoveIfExists(nameof(GetNewContainedViewRequest.FlowHandler).ToLowerInvariant()));

                return(RedirectToAction(nameof(Current), type,
                                        routeValues));
            };

            return(await _setNewContainedViewHandler.Execute(containedViewRequest));
        }
コード例 #2
0
ファイル: UiFlowController.cs プロジェクト: weedkiller/flox
        public async Task <IActionResult> NewContainedView(GetNewContainedViewRequest request)
        {
            using (_profiler.Profile(nameof(UiFlowController), nameof(NewContainedView)))
            {
                Logger.Trace(() => $"Starting - {nameof(NewContainedView)} --> {request} ");
                var result = await this.HandleActionAsync(async() => await _GetNewContainedView(request));

                Logger.Trace(() => $"Completed - {nameof(NewContainedView)} --> {request} ");
                return(result);
            }
        }