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