Exemplo n.º 1
0
        public async Task <object> Add(SubmissionInputModel submissionInputModel)
        {
            var assignmentModel = await _context.Assignment.FindAsync(submissionInputModel.AssignmentId);

            if (assignmentModel == null)
            {
                return("bad request");
            }

            var model = new SubmissionModel
            {
                AssignmentId   = submissionInputModel.AssignmentId,
                StudentId      = submissionInputModel.StudentId,
                Link           = submissionInputModel.Link,
                Comment        = submissionInputModel.Comment,
                Grade          = 0,
                SubmissionDate = DateTime.Now
            };

            _context.Submission.Add(model);
            try
            {
                await _context.SaveChangesAsync();
            }
            catch (Exception)
            {
                return("bad request");
            }
            return(model);
        }
        public IActionResult Create(SubmissionInputModel model)
        {
            if (!ModelState.IsValid)
            {
                return(Redirect("/Submissions/Create?id=" + model.ProblemId));
            }
            var problem = problemService.GetById(model.ProblemId);


            if (problem == null)
            {
                return(Redirect("/Submissions/Create"));
            }
            var rnd         = new Random();
            var randomScore = rnd.Next(0, problem.Points);
            var submission  = new Submission()
            {
                Code           = model.Code,
                CreatedOn      = DateTime.Now,
                ProblemId      = problem.Id,
                UserId         = User.Id,
                AchievedResult = randomScore
            };

            submissionService.Create(submission);
            return(Redirect("/"));
        }
Exemplo n.º 3
0
        public async Task <object> Update(SubmissionInputModel submissionInputModel)
        {
            var model = await _context.Submission.FindAsync(submissionInputModel.SubmissionId);

            if (model == null)
            {
                return("bad request");
            }
            model.Link                  = submissionInputModel.Link;
            model.Comment               = submissionInputModel.Comment;
            model.SubmissionDate        = DateTime.Now;
            _context.Entry(model).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!SubmissionModelExists(model.SubmissionId))
                {
                    return("not found");
                }
                else
                {
                    throw;
                }
            }

            return("no content");
        }
Exemplo n.º 4
0
        public IActionResult Create(SubmissionInputModel model)
        {
            if (!ModelState.IsValid)
            {
                return(this.Redirect($"/Submissions/Create?id={model.ProblemId}"));
            }

            this.submissionService.Create(model.Code, model.ProblemId, model.UserId);

            return(this.Redirect("/"));
        }
Exemplo n.º 5
0
        public IActionResult Create(SubmissionInputModel model)
        {
            if (!this.ModelState.IsValid)
            {
                return(this.Redirect($"/Submissions/Create?id={model.problemId}"));
            }

            submissionService.CreateSubmissionAndAddToCurrentProblem(model.problemId, this.User.Id, model.Code);

            return(this.Redirect("/"));
        }
        public IActionResult Create(SubmissionInputModel input)
        {
            if (!this.ModelState.IsValid)
            {
                return(this.Redirect($"/Submissions/Create?id={input.ProblemId}"));
            }

            this.submissionService.Create(input.Code, input.ProblemId, input.UserId);

            return(this.Redirect("/"));
        }
        public IActionResult Create(SubmissionInputModel input)
        {
            if (!ModelState.IsValid)
            {
                return(this.Redirect($"/Submissions/Create?id={input.ProblemId}"));
            }

            var problem = this.problemService.GetById(input.ProblemId);

            this.submissionService.CreateSubmission(input.Code, problem, this.User.Id);

            return(this.Redirect("/"));
        }
Exemplo n.º 8
0
        public async Task<object> PostSubmissionModel(SubmissionInputModel submissionInputModel)
        {
            object result;
            result = await _submissionRepository.Add(submissionInputModel);

            if (result.Equals("bad request"))
            {
                return BadRequest();
            }
            else
            {
                return result;
            }
        }
Exemplo n.º 9
0
        public async Task <IActionResult> New(SubmissionInputModel input)
        {
            var answers = input.Questions
                          .SelectMany(x => x.Answers.Select(a => new SubmissionAnswerInput
            {
                Id        = a.Id,
                IsCorrect = a.IsCorrect,
            })).ToArray();

            await this.submissionService
            .Complete(input.SubmissionId, answers);

            return(this.RedirectToAction(nameof(this.Details), new { id = input.SubmissionId }));
        }
Exemplo n.º 10
0
        public HttpResponse Create(string id)
        {
            if (!IsUserSignIn())
            {
                return(Redirect("/Users/Login"));
            }

            var viewModel = new SubmissionInputModel
            {
                ProblemId = id,
                Name      = problemsService.GetNameById(id),
            };

            return(View(viewModel));
        }
Exemplo n.º 11
0
        public async Task<IActionResult> PutSubmissionModelGrade(SubmissionInputModel submissionInputModel)
        {
            var result = await _submissionRepository.SetGrade(submissionInputModel);

            if (result.Equals("no content"))
            {
                return NoContent();
            }
            else if (result.Equals("not found"))
            {
                return NotFound();
            }
            else
            {
                return BadRequest();
            }
        }