public async Task <ActionResult <ObjectId> > CreateSubmission(
            [FromBody] CreateSubmissionModel model)
        {
            // 查找对应的语言实体对象
            var language = await _repo.Languages.FindOneAsync(model.LanguageId);

            if (language == null)
            {
                return(NotFound());
            }

            // 检查题目是否存在
            if (!await _repo.Problems.ExistAsync(model.ProblemId))
            {
                return(NotFound());
            }

            model.Author              = User.Identity.Name;
            model.LanguageTriple      = new LanguageTriple(language.Identifier, language.Dialect, language.Version);
            model.LanguageDisplayName = language.DisplayName;
            var entity = _mapper.Map <CreateSubmissionModel, Submission>(model);

            await _repo.Submissions.InsertOneAsync(entity);

            return(entity.Id);
        }
        public IActionResult Create(CreateSubmissionModel model)
        {
            if (!this.User.IsAuthenticated)
            {
                return(this.RedirectToLogin());
            }

            Random rng = new Random();

            bool compiles = rng.Next(1, 100) > 70 ? true : false;

            var creatorid = this.userService.GetUserByEmail(this.User.Name).Id;

            this.submissionService.Create(creatorid, model.ExecutableCode, int.Parse(model.ContestId), compiles);

            return(Redirect("/submissions/all"));
        }
Exemple #3
0
 public IActionResult Create(CreateSubmissionModel createSubmissionModel)
 {
     if (ModelState.IsValid)
     {
         var submissionService = HttpContext.RequestServices.GetService <ISubmissionService>();
         var submissionId      = submissionService.CreateSubmission(createSubmissionModel, ((JMSPrincipal)User).ApplicationUser.Id);
         submissionService.SaveSubmissionHistory(new SubmissionHistory
         {
             TenanatID    = JMSUser.TenantId.GetValueOrDefault(),
             SubmissionId = submissionId,
             Action       = "Submission Initialization",
             ActionDate   = DateTime.UtcNow,
             ActorEmail   = JMSUser.Email,
             ActorName    = $"{JMSUser.FirstName} {JMSUser.LastName}"
         });
         return(RedirectToAction("Edit", new { id = submissionId }));
     }
     return(BadRequest());
 }
Exemple #4
0
        public long CreateSubmission(CreateSubmissionModel createSubmissionModel, long userId)
        {
            var submission = new Submission();

            submission.Prefix           = createSubmissionModel.Prefix;
            submission.Title            = createSubmissionModel.Title;
            submission.Subtitle         = createSubmissionModel.Subtitle;
            submission.SubmissionStatus = SubmissionStatus.Draft;
            submission.Abstract         = createSubmissionModel.Abstract;
            submission.Keywords         = createSubmissionModel.Keywords;
            submission.UserID           = userId;
            submission.UpdatedDate      = DateTime.UtcNow;
            submission.CreatedDate      = DateTime.UtcNow;
            submission.CreateStep       = 1;
            var context = _serviceProvider.GetService <ApplicationDbContext>();

            context.Submission.Add(submission);
            context.SaveChanges();
            return(submission.Id);
        }