Esempio n. 1
0
        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));
        }
Esempio n. 2
0
        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));
        }