Example #1
0
        public async Task <IActionResult> Submit(VideoTaskResultDto model)
        {
            var userId = User.FindFirstValue("sub");
            await _videoTaskResultService.Confirm(userId, model);

            return(Ok(new { }));
        }
        public async Task Confirm(string userId, VideoTaskResultDto model)
        {
            var user = await _context.Users
                       .Include(x => x.UserGroups)
                       .ThenInclude(x => x.Group)
                       .FirstOrDefaultAsync(x => x.Id == userId);

            var result = new VideoTaskResult()
            {
                Group     = user.UserGroups != null && user.UserGroups.Count > 0 ? user.UserGroups[0].Group : null,
                VideoTask = await _context.VideoTasks.FindAsync(model.VideoTaskId),
                Sender    = user
            };

            if (result.Sender == null || result.VideoTask == null)
            {
                throw new ArgumentException();
            }

            _context.VideoTaskResults.Add(result);
            await _context.SaveChangesAsync();
        }