public async Task <ActionResult <VehicleToReturnDto> > CreateVehicle(VehicleCreateDto vehicleToCreate)
        {
            var validator = new VehicleValidator();
            var res       = validator.Validate(vehicleToCreate);

            if (res.IsValid)
            {
                var vehicle = _mapper.Map <VehicleCreateDto, Vehicle>(vehicleToCreate);
                _unitOfWork.Repository <Vehicle>().Add(vehicle);

                var result = await _unitOfWork.Complete();

                if (result <= 0)
                {
                    return(BadRequest(new ApiResponse(400, "Problem creating vehicle")));
                }

                vehicle.AddFuelType(vehicleToCreate.FuelTypeId, vehicle.Id);
                _unitOfWork.Repository <Vehicle>().Update(vehicle);
                var result2 = await _unitOfWork.Complete();

                if (result2 <= 0)
                {
                    return(BadRequest(new ApiResponse(400, "Problem adding fuel type")));
                }

                return(_mapper.Map <Vehicle, VehicleToReturnDto>(vehicle));
            }
            else
            {
                return(BadRequest(res.Errors));
            }
        }
        public IActionResult Post([FromBody] VehicleCreateDto model)
        {
            var vehicle = _mapper.Map <Vehicle>(model);

            vehicle.AccountId = _userService.CurrentUserId;
            _db.Add(vehicle);
            _db.SaveChanges();
            return(Created("", model));
        }
Exemple #3
0
        public int CreateVehicle(VehicleCreateDto vehicle)
        {
            int result = 0;

            try
            {
                result = _iVehicleInMemoryService.CreateVehicle(vehicle);
            }
            catch (Exception)
            {
                result = -1;
            }
            return(result);
        }
        public async Task <ActionResult <VehicleToReturnDto> > UpdateVehicle(int id, VehicleCreateDto vehicleToUpdate)
        {
            var vehicle = await _unitOfWork.Repository <Vehicle>().GetByIdAsync(id);

            _mapper.Map(vehicleToUpdate, vehicle);

            _unitOfWork.Repository <Vehicle>().Update(vehicle);

            var result = await _unitOfWork.Complete();

            if (result <= 0)
            {
                return(BadRequest(new ApiResponse(400, "Problem updating vehicle")));
            }

            return(_mapper.Map <Vehicle, VehicleToReturnDto>(vehicle));
        }
Exemple #5
0
        public void CreateVehicle_WhenValidVehicle()
        {
            // Arrange
            var vehicle = new VehicleCreateDto
            {
                Year  = 2015,
                Make  = "Honda",
                Model = "Accord"
            };

            mockRepository.Setup(x => x.CreateVehicle(It.IsAny <VehicleCreateDto>()))
            .Returns(1);

            //Act
            var result        = _vehicleController.CreateVehicle(vehicle);
            var contentResult = (result as OkNegotiatedContentResult <string>)?.Content;

            //Assert
            Assert.AreEqual("Vehicle details added successfully", contentResult);
        }
Exemple #6
0
        public ActionResult <VehicleModel> AddVehicleToRace(int raceId, VehicleCreateDto vehicle)
        {
            VehicleSubtypeModel subtypeModel = _dakarRepo.GetVehicleSubtype(vehicle.VehicleType, vehicle.VehicleSubtype);

            if (subtypeModel == null)
            {
                return(BadRequest("Invalid vehicle type and/or subtype."));
            }

            VehicleModel vehicleToCreate = _mapper.Map <VehicleModel>(vehicle);

            vehicleToCreate.VehicleSubtype = subtypeModel;

            if (_dakarRepo.AddVehicleToRace(raceId, vehicleToCreate, out string status))
            {
                _dakarRepo.SaveChanges();
                return(Ok(vehicleToCreate));
            }

            return(BadRequest(status));
        }
        public int CreateVehicle(VehicleCreateDto vehicle)
        {
            int result = 0;

            try
            {
                var lstVehicles = GetCacheData();
                if (lstVehicles == null)
                {
                    lstVehicles = new List <VehicleDto>();
                }

                int id = lstVehicles.Count() + 1;

                VehicleDto vehicleDto = null;
                if (vehicle != null)
                {
                    vehicleDto = new VehicleDto
                    {
                        Id    = id,
                        Make  = vehicle.Make,
                        Model = vehicle.Model,
                        Year  = vehicle.Year
                    };
                }

                lstVehicles.Add(vehicleDto ?? new VehicleDto());
                AddCacheData(lstVehicles);
                result = 1;
            }
            catch (Exception)
            {
                result = -1;
                throw;
            }

            return(result);
        }
Exemple #8
0
        public IHttpActionResult CreateVehicle(VehicleCreateDto vehicle)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest("Year, Make and Model are required. Year must be in between 1950 and 2050."));
            }
            var result = _iVehicleService.CreateVehicle(vehicle);

            switch (result)
            {
            case -1:
                return(Ok("System temporarily disconnected. Please try again"));

            case 0:
                return(Ok("Vehicle couldn't be added. Please try again"));

            case 1:
                return(Ok("Vehicle details added successfully"));

            default:
                break;
            }
            return(Ok(result));
        }