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")); }
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()); }
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); }