public async Task <ActionResult <VehicleDto> > Edit(int id, SaveVehicleDto saveVehicleDto)
        {
            var vehicleInDb = await _vehicleRepository.Details(id);

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

            var user = await _userRepository.Details(_userAccessor.GetCurrentUsername());

            if (user.Id != vehicleInDb.UserId)
            {
                return(Forbid());
            }

            Mapper.Map <SaveVehicleDto, Vehicle>(saveVehicleDto, vehicleInDb);
            vehicleInDb.LastUpdate = DateTime.Now;

            await _unitOfWork.CompleteAsync();

            vehicleInDb = await _vehicleRepository.Details(id);

            return(Mapper.Map <Vehicle, VehicleDto>(vehicleInDb));
        }
Example #2
0
        public async Task <IActionResult> UpdateVehicle(int id, [FromBody] SaveVehicleDto vehicleDto)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var vehicle = await repository.GetVehicle(id);

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

            mapper.Map <SaveVehicleDto, Vehicle>(vehicleDto, vehicle);
            vehicle.LastUpdate = DateTime.Now;

            await unitOfWork.CompleteAsync();

            vehicle = await repository.GetVehicle(vehicle.Id);

            var result = mapper.Map <Vehicle, VehicleDto>(vehicle);

            return(Ok(result));
        }
Example #3
0
        public IActionResult CreateVehicle([FromBody] SaveVehicleDto vehicleDto)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var vehicle = mapper.Map <SaveVehicleDto, Vehicle>(vehicleDto);

            vehicle.LastUpdate = DateTime.Now;
            vehicleRepository.Add(vehicle);
            uow.Complete();
            var results = mapper.Map <Vehicle, VehicleDto>(vehicle);

            return(Ok(results));
        }
        public async Task <IActionResult> CreateVehicle([FromBody] SaveVehicleDto vehicleDto)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var vehicle = _mapper.Map <SaveVehicleDto, Vehicle>(vehicleDto);

            _vehicleRepository.Add(vehicle);
            await _uow.Complete();

            vehicle = await _vehicleRepository.GetVehicle(vehicle.Id);

            var result = _mapper.Map <Vehicle, VehicleDto>(vehicle);

            return(Ok(result));
        }
        public async Task <IActionResult> CreateVehicle([FromBody] SaveVehicleDto vehicleDto)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var vehicle = mapper.Map <SaveVehicleDto, Vehicle>(vehicleDto);

            vehicle.LastUpdate = DateTime.Now;

            repository.Add(vehicle);
            await unitOfWork.CompleteAsync();

            vehicle = await repository.GetVehicle(vehicle.VehicleId);

            var result = mapper.Map <Vehicle, VehicleDto>(vehicle);

            return(Ok(result));
        }
        public async Task <IActionResult> UpdateVehicle(int id, [FromBody] SaveVehicleDto vehicleDto)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var vehicle = await _appDbContext.Vehicles.Include(v => v.Features).SingleOrDefaultAsync(v => v.Id == id);

            _mapper.Map(vehicleDto, vehicle);

            _appDbContext.Entry(vehicle).State = EntityState.Modified;

            await _uow.Complete();

            vehicle = await _vehicleRepository.GetVehicle(vehicle.Id);

            var result = _mapper.Map <Vehicle, VehicleDto>(vehicle);

            return(Ok(result));
        }
        public async Task <ActionResult <VehicleDto> > Create(SaveVehicleDto saveVehicleDto)
        {
            var model = await _modelRepository.Details(saveVehicleDto.ModelId);

            if (model == null)
            {
                return(BadRequest("Invalid ModelId"));
            }

            var user = await _userRepository.Details(_userAccessor.GetCurrentUsername());

            var vehicle = Mapper.Map <SaveVehicleDto, Vehicle>(saveVehicleDto);

            vehicle.User       = user;
            vehicle.LastUpdate = DateTime.Now;

            _vehicleRepository.Create(vehicle);
            await _unitOfWork.CompleteAsync();

            vehicle = await _vehicleRepository.Details(vehicle.Id);

            return(Mapper.Map <Vehicle, VehicleDto>(vehicle));
        }