public IResult Update(CarForUpdateDto car)
        {
            Car carToUpdate = _carDal.Get(c => c.Id == car.Id);

            if (carToUpdate == null)
            {
                return(new ErrorResult());
            }
            carToUpdate.ModelYear   = car.ModelYear;
            carToUpdate.Description = car.Description;
            carToUpdate.ModelName   = car.ModelName;
            carToUpdate.BrandId     = car.BrandId;
            carToUpdate.ColorId     = car.ColorId;
            carToUpdate.DailyPrice  = car.DailyPrice;
            carToUpdate.Findeks     = car.Findeks;
            _carDal.Update(carToUpdate);
            foreach (var image in _carImageService.GetAllByCarId(carToUpdate.Id).Data)
            {
                _carImageService.Delete(image.Id);
            }

            var imagesToUpdate = car.Images.Select(i => new CarImageForAddDto()
            {
                CarId = carToUpdate.Id, Image = i
            }).ToList();

            foreach (var image in imagesToUpdate)
            {
                _carImageService.Add(image);
            }
            return(new SuccessResult(Messages.CarUpdated));
        }
Beispiel #2
0
        public IActionResult UpdateCar(Guid id, [FromBody] CarForUpdateDto car)
        {
            try
            {
                if (car == null)
                {
                    return(BadRequest("Car object is null"));
                }

                if (!ModelState.IsValid)
                {
                    return(BadRequest("Invalid model object"));
                }

                var carEntity = _repository.Car.GetCarById(id);
                if (carEntity == null)
                {
                    return(NotFound());
                }

                _mapper.Map(car, carEntity);

                _repository.Car.UpdateCar(carEntity);
                _repository.Save();

                return(NoContent());
            }
            catch (Exception ex)
            {
                return(StatusCode(500, "Internal server error"));
            }
        }
Beispiel #3
0
        public async Task <IActionResult> Updatedetails(int id, CarForUpdateDto carforupdate)
        {
            var update = await _repo.UpdateDetails(id, carforupdate);

            await _repo.SaveChangesAsync();

            return(Ok(update));
        }
Beispiel #4
0
        public void UpdateCar(Car carFromRepo, CarForUpdateDto carForUpdate)
        {
            Mapper.Map(carForUpdate, carFromRepo);

            if (!_carRepository.Save())
            {
                throw new Exception("Could not update car");
            }
        }
Beispiel #5
0
        public async void DeleteCarBadRequest()
        {
            //Arrange
            var databaseName    = Guid.NewGuid().ToString();
            var context         = BuildContext(databaseName);
            var mapper          = BuildMap();
            var carsRepository  = new CarRepository(context);
            var usersRepository = new UserRepository(context);
            var carForUpdate    = new CarForUpdateDto()
            {
                ModelName = "test modelname"
            };

            var exampleCar = new Car()
            {
                ModelName = "test name", UserId = 1
            };
            var exampleUser = new User()
            {
                Cars = new List <Car>()
            };

            exampleUser.Cars.Add(exampleCar);

            context.Users.Add(exampleUser);
            context.Cars.Add(exampleCar);
            await context.SaveChangesAsync();

            var user = new ClaimsPrincipal(new ClaimsIdentity(new Claim[]
            {
                new Claim(ClaimTypes.NameIdentifier, "1")
            }));

            //Act
            var testContext = BuildContext(databaseName);

            var controller = new CarsController(
                carsRepository, mapper,
                usersRepository, testContext, null);

            controller.ControllerContext = new ControllerContext()
            {
                HttpContext = new DefaultHttpContext()
                {
                    User = user
                }
            };

            var response = await controller.DeleteCar(2, 1);

            var result = response as BadRequestResult;

            //Assert
            Assert.Equal(200, result.StatusCode);
        }
        public async Task <Car> UpdateDetails(int id, CarForUpdateDto carforupdate)
        {
            var car = await _context.TBL_CAR.FirstOrDefaultAsync(x => x.A_ID == id);

            if (car != null)
            {
                car.A_PRICE           = carforupdate.Price;
                car.A_DISTANCE_DRIVEN = carforupdate.Distance;
            }

            return(car);
        }
Beispiel #7
0
        public IActionResult UpdateCar(Guid carId, CarForUpdateDto car)
        {
            var carFromRepo = _carRentalRepository.GetCar(carId);

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

            _mapper.Map(car, carFromRepo);

            _carRentalRepository.UpdateCar(carFromRepo);
            _carRentalRepository.Save();

            return(NoContent());
        }
Beispiel #8
0
        public async Task <IActionResult> UpdateCar(int userId, int id,
                                                    CarForUpdateDto carForUpdateDto)
        {
            if (userId != int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value))
            {
                return(Unauthorized());
            }

            var carFromRepo = await _repo.GetCar(id, true);

            _mapper.Map(carForUpdateDto, carFromRepo);
            carFromRepo.Created = DateTime.Now;

            if (await _repo.SaveAll())
            {
                return(NoContent());
            }

            throw new Exception($"Updating car {id} failed on save");
        }
        public IActionResult UpdateCar(Guid carId, [FromBody] CarForUpdateDto car)
        {
            if (car == null)
            {
                return(BadRequest());
            }
            if (!_carRepository.CarExists(carId))
            {
                return(NotFound());
            }

            var carFromRepo = _carRepository.GetCar(carId);

            Mapper.Map(car, carFromRepo);



            if (!_carRepository.Save())
            {
                throw new Exception("Fail to save");
            }

            return(NoContent());
        }
        public IActionResult Update(CarForUpdateDto car)
        {
            var result = _carService.Update(car);

            return(StatusCode(result.Success ? 200 : 400, result));
        }