Ejemplo n.º 1
0
        public async Task <IActionResult> UpdateSquad(int id, [FromBody] SquadUpdateDto squadUpdateDto)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var squad = await _squadService.GetByIdAsync(id);

            if (squad == null)
            {
                return(NotFound());
            }

            var existSquad = await _squadService
                             .GetDetailBySeasonIdAndClubIdAsync(squadUpdateDto.SeasonId, squadUpdateDto.ClubId);

            if (existSquad != null && (existSquad.Id != squad.Id))
            {
                return(BadRequest());
            }

            _mapper.Map(squadUpdateDto, squad);
            await _squadService.UpdateAsync(squad);

            var updatedSquad = await _squadService.GetByIdAsync(id);

            var returnSquad = _mapper.Map <SquadDetailDto>(updatedSquad);

            return(Ok(returnSquad));
        }
        public async Task <IActionResult> UpdateKit(int squadId, int id, [FromBody] KitUpdateDto kitUpdateDto)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var squad = await _squadService.GetDetailByIdAsync(squadId);

            if (squad == null)
            {
                return(NotFound());
            }

            var kit = await _kitService.GetByIdAsync(id);

            if (kit == null)
            {
                return(NotFound());
            }

            if (squad.Kits.All(k => k.Id != id))
            {
                return(BadRequest());
            }

            if (squad.Kits.Any(k => k.KitType == kitUpdateDto.KitType &&
                               kit.KitType != kitUpdateDto.KitType))
            {
                return(BadRequest());
            }

            _mapper.Map(kitUpdateDto, kit);
            await _kitService.UpdateAsync(kit);

            var updatedKit = await _squadService.GetByIdAsync(id);

            var returnKit = _mapper.Map <KitDetailDto>(updatedKit);

            return(Ok(returnKit));
        }