示例#1
0
        public async Task <IActionResult> Create(SubmissionCreateBindingModel bindingModel, string returnUrl = null)
        {
            if (!this.ModelState.IsValid)
            {
                this.TempData["error"] = "Something went wrong...";
                return(this.LocalRedirect(returnUrl));
            }

            returnUrl = returnUrl ?? this.HttpContext.Request.Headers["Referer"];

            var user = users.GetUser(this.User.Identity.Name);

            var createIsSuccessful = await this.submissions.Create(user.Id, bindingModel);

            if (!createIsSuccessful)
            {
                this.TempData["error"] = "Something went wrong...";
            }
            else
            {
                this.TempData["success"] = "You have successfully submitted your solution";
            }

            return(this.LocalRedirect(returnUrl));
        }
        public IActionResult Create(SubmissionCreateBindingModel model)
        {
            if (!this.ModelState.IsValid)
            {
                return(this.Redirect($"/Submissions/Create?problemId={model.ProblemId}"));
            }

            var problemFromDb = this.problemService.GetProblemById(model.ProblemId);

            var random         = new Random();
            var achievedResult = random.Next(0, problemFromDb.Points);

            var submission = new Submission
            {
                Code           = model.Code,
                AchievedResult = achievedResult,
                CreatedOn      = DateTime.UtcNow,
                ProblemId      = model.ProblemId,
                UserId         = model.UserId
            };

            this.submissionService.CreateSubmission(submission);

            return(this.Redirect("/"));
        }
        public IActionResult Create(string problemId, SubmissionCreateBindingModel model)
        {
            if (!this.ModelState.IsValid)
            {
                return(this.Redirect("/Submissions/Create"));
            }

            this.submissionsService.CreateSubmission(problemId, this.User.Id, model.Code);

            return(this.Redirect("/"));
        }
        public IActionResult Create(SubmissionCreateBindingModel bindingModel)
        {
            if (!ModelState.IsValid)
            {
                return(Redirect("/"));
            }

            submissionService.CreateSubmissionToProblem(bindingModel.Code, bindingModel.ProblemId, User.Id);

            return(Redirect("/"));
        }
示例#5
0
        public async Task <IActionResult> Create(SubmissionCreateBindingModel model)

        {
            if (!ModelState.IsValid)
            {
                ModelState.AddModelError("", "Invalid Create Submission attempt");
                return(this.Redirect("/"));
            }

            Problem    problem    = _context.Problems.FirstOrDefault(a => a.Id == model.ProblemId);
            Submission submission = new Submission
            {
                AchievedResult = RandomPoints(problem.Points),
                Code           = model.Code,
                CreatedOn      = DateTime.UtcNow,
                ProblemId      = model.ProblemId,
                UserId         = _userManager.GetUserId(User),
            };

            _context.Submissions.Add(submission);
            await _context.SaveChangesAsync();

            return(Redirect("/"));
        }