Exemplo n.º 1
0
 public Car Map(IUpdateCarRequest updateCarRequest)
 {
     return(new Car
     {
         Id = updateCarRequest.Id,
         Colour = updateCarRequest.Colour,
         CountryManufactured = updateCarRequest.CountryManufactured,
         Make = updateCarRequest.Make,
         Model = updateCarRequest.Model,
         Price = updateCarRequest.Price,
         Year = updateCarRequest.Year
     });
 }
Exemplo n.º 2
0
        public async Task <Car> Update(IUpdateCarRequest updateCarRequest)
        {
            // TODO: We need Get by id in repository.
            var allCars = await _carRepositoryCache.GetAllCars();

            var carToUpdate = allCars.Where(c => c.Id == updateCarRequest.Id).FirstOrDefault();

            if (carToUpdate == null)
            {
                throw new HttpResponseException(System.Net.HttpStatusCode.BadRequest);
            }

            var mappedRequest = _updateCarRequestMapper.Map(updateCarRequest);
            await _carRepository.Update(mappedRequest);

            _carRepositoryCache.InvalidateCache();

            return(mappedRequest);
        }
Exemplo n.º 3
0
        public async Task <ServiceResult> UpdateCarByIdAsync(Guid userId, Guid carId, IUpdateCarRequest request)
        {
            var car = await _carRepository.GetCarByIdAsync(carId);

            if (car == null)
            {
                return(FailResult(404, "Car doesn't exist"));
            }

            if (car.UserCars.FirstOrDefault(u => u.UserId == userId) == null)
            {
                return(FailResult(401, "Car doesn't belong to this user"));
            }

            car = _mapper.Map(request, car);

            if (!await _carRepository.UpdateCarAsync(car))
            {
                return(FailResult(500, "Failed while updating the car"));
            }

            return(SuccessResult(200, _mapper.Map <UpdateCarResponse>(car)));
        }