public async Task <IActionResult> UpdateCarOwnerAsync([FromBody] ChangeCarOwner command)
        {
            if (ModelState.IsValid)
            {
                await _carService.UpdateCarOwnerAsync(command);

                return(Ok());
            }

            return(BadRequest());
        }
Beispiel #2
0
        public async Task UpdateCarOwnerAsync(ChangeCarOwner changeCarOwner)
        {
            var owner = await _ownerRepository.FirstOrDefaultAsync(x => x.Id == changeCarOwner.OwnerId);

            if (owner == null)
            {
                throw new NotFoundException($"{changeCarOwner.OwnerId}");
            }

            var car = await _carRepository.Queryable()
                      .Include(x => x.Owners)
                      .FirstOrDefaultAsync(x => x.Id == changeCarOwner.CarId);

            if (car == null)
            {
                throw new NotFoundException($"{changeCarOwner.CarId}");
            }

            car.ActiveOwnerId = owner.Id;
            car.Owners.Add(owner);

            await _carRepository.UpdateAsync(car);
        }