public async Task <FlagSubmission> CreateFlagSubmissionAsync(FlagSubmission submission, CancellationToken cancellationToken = default) { // Create new submission var submissionEntity = _dbContext.FlagSubmissions.Add(new FlagSubmissionEntity { FlagId = submission.FlagId, UserId = submission.UserId, SubmissionTime = submission.SubmissionTime }).Entity; // Apply changes await _dbContext.SaveChangesAsync(cancellationToken); return(_mapper.Map <FlagSubmission>(submissionEntity)); }
public async Task <IActionResult> CreateFlagSubmissionAsync([FromServices] IFlagService flagService, int labId, int slotId, int userId, int flagId, DateTime submissionTime) { try { // Create submission var submission = new FlagSubmission { UserId = userId, FlagId = flagId, SubmissionTime = submissionTime }; await flagService.CreateFlagSubmissionAsync(submission, HttpContext.RequestAborted); AddStatusMessage(_localizer["CreateFlagSubmissionAsync:Success"], StatusMessageTypes.Success); } catch (InvalidOperationException ex) { _logger.LogError(ex, "Create flag submission"); AddStatusMessage(_localizer["CreateFlagSubmissionAsync:UnknownError"], StatusMessageTypes.Error); } return(await RenderAsync(labId, slotId)); }