public async Task ApproveAsync(ApproveSubmissionRequestDTO dto)
        {
            var submission = await _context.CreatureSubmissions.SingleAsync(x => x.Id == dto.CreatureSubmissionId);

            var creatures = await _context.Creatures.Where(x => x.BracketId == submission.BracketId).ToListAsync();

            if (creatures.Count >= 16)
            {
                throw new ExpectedException("There are already 16 creatures approved for battle!");
            }

            var creature = new Creature
            {
                BIO                  = submission.BIO,
                Id                   = Guid.NewGuid(),
                BracketId            = submission.BracketId,
                Name                 = submission.Name,
                Image                = submission.Image,
                Seed                 = null,
                CreatureSubmissionId = submission.Id
            };

            submission.Status = ECreatureSubmissionStatus.Approved;

            _context.Add(creature);
        }
        public async Task <IActionResult> RemoveApproval([FromBody] ApproveSubmissionRequestDTO dto)
        {
            await _unitOfWork.CreatureSubmissionRepository.RemoveApprovalAsync(dto);

            await _unitOfWork.SaveAsync();

            return(Ok());
        }
        public async Task RemoveApprovalAsync(ApproveSubmissionRequestDTO dto)
        {
            var submission = await _context.CreatureSubmissions.SingleAsync(x => x.Id == dto.CreatureSubmissionId);

            var creature = await _context.Creatures.SingleAsync(x => x.CreatureSubmissionId == submission.Id);

            _context.Creatures.Remove(creature);

            submission.Status = ECreatureSubmissionStatus.Pending;
        }