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; }