Пример #1
0
        private AppSolutionRequest LoadSolution(AppSolutionRequest request, TableauSolutionSerialized serializedSolution)
        {
            var solution = serializedSolution.DeserializeSolution();

            request.TableauSolution = solution;
            return(request);
        }
        public async Task <IActionResult> OnPost()
        {
            try {
                var unparsedTableauInput = FormResolver.ResolveForm(HttpContext.Request.Form);
                var(tableauInput, errorForm) = ConversionService.ParseTableauInput(unparsedTableauInput);

                if (errorForm.HasErrorResponse())
                {
                    ErrorResponseForm = errorForm;
                    return(Page());
                }

                var tableauSolution = TableauSolutionService.ComputeTableauSolution(tableauInput);
                EventService.LogTableauSolution(tableauSolution);

                var userRequest = new AppSolutionRequest()
                {
                    TableauType         = TableauSolutionCategorizer.CategorizeTableauSolution(tableauSolution.SolutionNode),
                    ExpectedTableauType = unparsedTableauInput.ExpectedTableauType,
                    SolutionId          = tableauSolution.SolutionId
                };

                HttpContext.Session.SetString(SolutionName, JsonConvert.SerializeObject(tableauSolution));
                HttpContext.Session.SetString(RequestName, JsonConvert.SerializeObject(userRequest));

                await EventService.CreateAppSolutionRequest(userRequest, HttpContext.User);

                return(RedirectToPage("SolutionView",
                                      new { isSession = true, solutionViewType = SolutionViewType.Text }));
            }
            catch (FormResolverException) {
                return(RedirectToPage("../Error"));
            }
        }
Пример #3
0
        public async Task <AppSolutionRequest> CreateAppSolutionRequest(AppSolutionRequest appSolutionRequest, ClaimsPrincipal user)
        {
            appSolutionRequest.User = (user.Identity.IsAuthenticated) ? user.Identity.Name : "default";
            var entity = DbContext.AppSolutionRequests.Add(appSolutionRequest);
            await DbContext.SaveChangesAsync();

            return(entity.Entity);
        }