public IActionResult AddCar([FromBody] NewCarRequest request)
        {
            if (!validationService.ValidateCarRequest(request))
            {
                logger.LogError("New Car Request validation failed.");
                return(BadRequest("Cannot Create Car. Check input values."));
            }

            apiContext.AddCar(request);
            return(Ok());
        }
        public void AddCar_Should_Add_Car()
        {
            //arrange
            var newCar = new NewCarRequest()
            {
                DealerCode = "A01", Make = "AUDI", Model = "R8", Year = 2018
            };

            //act
            var result = _testee.AddCar(newCar);

            //assert
            result.Should().BeTrue();
            _testee.Cars.Count().Should().Be(8);
            Dispose();
        }
        public void AddCar_Should_IncreaseStockLevel_When_SameCarIsFound(string dealerCode, string make, string model, int year, int expectedStockLevel)
        {
            //arrange
            var newCar = new NewCarRequest()
            {
                DealerCode = dealerCode, Make = make, Model = model, Year = year
            };

            //act
            var result = _testee.AddCar(newCar);

            //assert
            result.Should().BeTrue();
            _testee.Cars.Count().Should().Be(7);
            _testee.Cars.Where(x => x.DealerCode == dealerCode && x.Make == make && x.Model == model && x.Year == year).FirstOrDefault().StockLevel.Should().Be(expectedStockLevel);
            Dispose();
        }
Ejemplo n.º 4
0
        public virtual bool AddCar(NewCarRequest request)
        {
            var existingCarStock = this.GetSingleStock <NewCarRequest>(request);

            if (existingCarStock != null)
            {
                existingCarStock.StockLevel++;
            }
            else
            {
                Cars.Add(new CarStock()
                {
                    Make = request.Make.ToUpper(), Model = request.Model.ToUpper(), Year = request.Year, DealerCode = request.DealerCode.ToUpper(), StockLevel = 1
                });
            }
            this.SaveChanges();
            return(true);
        }
Ejemplo n.º 5
0
        public ActionResult CreateCar([FromBody] NewCarRequest carRequest)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest("Model state not valid"));
            }
            var model = new Car
            {
                Title    = carRequest.Title,
                Name     = carRequest.Name,
                Power    = carRequest.Power,
                Price    = carRequest.Price,
                DateMade = carRequest.DateMade,
                Mileage  = carRequest.Mileage,
            };

            _carService.AddCar(model);
            return(Ok($"Car created: {model.Name}"));
        }