protected override async Task ReadStateAsync() { await base.ReadStateAsync(); _battleId = this.GetPrimaryKeyLong(); _battle = await _apiClient.GetBattleAsync(_battleId); }
public void EditBattle(BattleDTO dto) { var battle = _unitOfWork.GetRepository <Battle>() .GetAll() .Single(b => b.Id == dto.Id); _mapper.Map(dto, battle); _unitOfWork.SaveChanges(); }
public async Task <IActionResult> AttackAsync([FromBody] BattleDTO battleDTO) { var atkCountry = await _userService.GetCountryByUserID(User.Identity.Name); battleDTO.IdAtt = atkCountry.ID; await _battleService.SendAllTypesToAttack(battleDTO); return(Ok()); }
public void AddBattle(BattleDTO dto) { var battle = new Battle(); _mapper.Map(dto, battle); _unitOfWork.GetRepository <Battle>().Add(battle); _unitOfWork.SaveChanges(); }
public async Task SendAllTypesToAttack(BattleDTO battleDto) { foreach (UnitDTO unit in battleDto.Army) { UnitDTOValidator unitValidator = new UnitDTOValidator(); ValidationResult validatorResults = unitValidator.Validate(unit); if (!validatorResults.IsValid) { foreach (var failure in validatorResults.Errors) { throw new HttpResponseException { Status = 400, Value = failure.ErrorMessage }; } } } if (!battleDto.Army.Any(u => u.UnitTypeID == UnitData.General.ID)) { throw new HttpResponseException { Status = 400, Value = "A küldött csapat nem tartalmaz Hadvezért" } } ; var attackingCountry = await _context.Countries.FirstOrDefaultAsync(c => c.ID == battleDto.IdAtt); var defendingCountry = await _context.Countries.FirstOrDefaultAsync(c => c.ID == battleDto.IdDef); if (attackingCountry == null) { throw new HttpResponseException { Status = 400, Value = "Támadó ország nem található" }; } if (defendingCountry == null) { throw new HttpResponseException { Status = 400, Value = "Védekező ország nem található" }; } foreach (UnitDTO unitDto in battleDto.Army) { await SendUnitsOfTypeToAttack(attackingCountry, defendingCountry, unitDto.UnitCount, unitDto.UnitTypeID); } await _context.SaveChangesAsync(); }