Пример #1
0
        public void Update(VehicleListing listing)
        {
            using (var cn = new SqlConnection())
            {
                cn.ConnectionString = Settings.GetConnectionString();

                var parameters = new DynamicParameters();
                parameters.Add("@VehicleListingId", listing.VehicleListingId);
                parameters.Add("@VehicleMakeId", listing.VehicleMakeId);
                parameters.Add("@VehicleModelId", listing.VehicleModelId);
                parameters.Add("@VehicleTypeId", listing.VehicleTypeId);
                parameters.Add("@BodyStyleId", listing.BodyStyleId);
                parameters.Add("@TransmissionTypeId", listing.TransmissionTypeId);
                parameters.Add("@Year", listing.Year);
                parameters.Add("@ColorId", listing.ColorId);
                parameters.Add("@InteriorColorId", listing.InteriorColorId);
                parameters.Add("@Mileage", listing.Mileage);
                parameters.Add("@VIN", listing.VIN);
                parameters.Add("@MSRP", listing.MSRP);
                parameters.Add("@SalePrice", listing.SalePrice);
                parameters.Add("@Description", listing.Description);
                parameters.Add("@FeaturedVehicle", listing.FeaturedVehicle);
                parameters.Add("@ImageFileName", listing.ImageFileName);
                parameters.Add("@Sold", listing.Sold);

                cn.Execute("UpdateVehicleListing",
                           parameters,
                           commandType: CommandType.StoredProcedure);
            }
        }
Пример #2
0
        public void Update(VehicleListing listing)
        {
            _vehicleListings.RemoveAll(x => x.VehicleListingId == listing.VehicleListingId);

            VehicleListing newListing = new VehicleListing()
            {
                VehicleListingId   = listing.VehicleListingId,
                VehicleMakeId      = listing.VehicleMakeId,
                VehicleModelId     = listing.VehicleModelId,
                VehicleTypeId      = listing.VehicleTypeId,
                BodyStyleId        = listing.BodyStyleId,
                TransmissionTypeId = listing.TransmissionTypeId,
                Year            = listing.Year,
                ColorId         = listing.ColorId,
                InteriorColorId = listing.InteriorColorId,
                Mileage         = listing.Mileage,
                VIN             = listing.VIN,
                MSRP            = listing.MSRP,
                SalePrice       = listing.SalePrice,
                FeaturedVehicle = listing.FeaturedVehicle,
                ImageFileName   = listing.ImageFileName,
                Description     = listing.Description,
                Sold            = listing.Sold
            };

            _vehicleListings.Add(newListing);
        }
Пример #3
0
        public void DeleteVehicleListings_ShouldDeleteOneVehicleListings_WhenVehicleMultipleListingsExists()
        {
            //Given
            var options = new DbContextOptionsBuilder <CarDealerContext>()
                          .UseInMemoryDatabase(databaseName: Guid.NewGuid().ToString())
                          .Options;
            var dbContext             = new CarDealerContext(options);
            var vehicleListingService = new VehicleListingService(dbContext);
            var vehicle = new Vehicle {
                Id = 1, Make = "Toyota", MarketValue = 20000, Model = "Camry", VinNumber = "4T1BF3EK5BU638805", Year = 2020
            };
            var vehicle1 = new Vehicle {
                Id = 2, Make = "Toyota", MarketValue = 20000, Model = "Camry", VinNumber = "1GNEK13Z93R293940", Year = 2020
            };
            var vehicleListing = new VehicleListing {
                Price = 50000, Vehicle = vehicle
            };
            var vehicleListing1 = new VehicleListing {
                Price = 50000, Vehicle = vehicle1
            };

            dbContext.VehicleListings.Add(vehicleListing);
            dbContext.VehicleListings.Add(vehicleListing1);
            dbContext.SaveChanges();
            dbContext.VehicleListings.Count().Should().Be(2);
            //When
            vehicleListingService.DeleteVehicleListings("4T1BF3EK5BU638805");
            //Then
            dbContext.VehicleListings.Count().Should().Be(1);
        }
Пример #4
0
        public void AddToVehicleListings_ShouldAddTodbContext_WhenPassedVehicleListing()
        {
            //Given
            var options = new DbContextOptionsBuilder <CarDealerContext>()
                          .UseInMemoryDatabase(databaseName: Guid.NewGuid().ToString())
                          .Options;
            var dbContext             = new CarDealerContext(options);
            var vehicleListingService = new VehicleListingService(dbContext);
            var vehicle = new Vehicle {
                Make = "toyoya", MarketValue = 20000, Model = "camry", VinNumber = "jksndfjsnfjnui32", Year = 2020
            };

            dbContext.VehicleInventory.Add(vehicle);
            dbContext.SaveChanges();
            var vehicleId      = dbContext.VehicleInventory.FirstOrDefault(x => x.VinNumber == "jksndfjsnfjnui32").Id;
            var vehicleListing = new VehicleListing()
            {
                VehicleId = vehicleId, Vehicle = vehicle
            };

            //When
            vehicleListingService.AddToVehicleListing(vehicleListing);
            //Then
            dbContext.VehicleListings.Count().Should().Be(1);
        }
Пример #5
0
        public VehicleListing GetById(int listingId)
        {
            VehicleListing listing = null;

            listing = (from vehicleListing in _vehicleListings
                       where vehicleListing.VehicleListingId == listingId
                       select vehicleListing).FirstOrDefault();

            return(listing);
        }
Пример #6
0
        public int AddToVehicleListing(VehicleListing vehicle)
        {
            if (vehicle == null)
            {
                throw new System.ArgumentNullException(nameof(vehicle), "The vehicle you are trying to add is null");
            }

            _db.VehicleListings.Add(vehicle);
            _db.SaveChanges();
            return(vehicle.Id);
        }
Пример #7
0
        public void Insert(VehicleListing listing)
        {
            if (listing.VehicleListingId == 0)
            {
                var lastId = _vehicleListings.MaxBy(x => x.VehicleListingId).FirstOrDefault();
                int newId  = lastId.VehicleListingId + 1;

                listing.VehicleListingId = newId;
            }

            _vehicleListings.Add(listing);
        }
Пример #8
0
        public void CanUpdateListing()
        {
            var repo = new VehicleListingRepoQA();

            VehicleListing car = new VehicleListing()
            {
                VehicleMakeId      = 2,
                VehicleModelId     = 1,
                VehicleTypeId      = 2,
                BodyStyleId        = 3,
                TransmissionTypeId = 1,
                Year            = 1997,
                ColorId         = 2,
                InteriorColorId = 4,
                Mileage         = 20000,
                VIN             = "11111111111111111",
                MSRP            = 40000.00M,
                SalePrice       = 36000.00M,
                Description     = "Ultimate",
                FeaturedVehicle = true,
                Sold            = false,
                ImageFileName   = "placeholder.png"
            };

            repo.Insert(car);
            var listingToUpdate = repo.GetById(5);

            listingToUpdate.TransmissionTypeId = 2;
            listingToUpdate.ColorId            = 3;
            listingToUpdate.InteriorColorId    = 1;
            listingToUpdate.Mileage            = 1000;
            listingToUpdate.MSRP        = 60000.00M;
            listingToUpdate.SalePrice   = 48000.00M;
            listingToUpdate.Description = "Updated sport utility vehicle";

            repo.Update(listingToUpdate);

            var updatedListing = repo.GetById(5);

            Assert.AreEqual(2, updatedListing.TransmissionTypeId);
            Assert.AreEqual(3, updatedListing.ColorId);
            Assert.AreEqual(1, updatedListing.InteriorColorId);
            Assert.AreEqual(1000, updatedListing.Mileage);
            Assert.AreEqual(48000.00M, updatedListing.SalePrice);
            Assert.AreEqual(60000.00M, updatedListing.MSRP);
            Assert.AreEqual("Updated sport utility vehicle", updatedListing.Description);
            Assert.AreEqual(true, updatedListing.FeaturedVehicle);
            Assert.AreEqual("11111111111111111", updatedListing.VIN);
        }
Пример #9
0
        public void CanInsertVehicleListing()
        {
            var repo = new VehicleListingRepository();

            VehicleListing test = new VehicleListing()
            {
                VehicleMakeId      = 1,
                VehicleModelId     = 1,
                VehicleTypeId      = 2,
                BodyStyleId        = 3,
                TransmissionTypeId = 2,
                Year            = 2020,
                ColorId         = 3,
                InteriorColorId = 1,
                Mileage         = 0,
                VIN             = "test",
                MSRP            = 99000M,
                SalePrice       = 92000M,
                Description     = "New Car",
                FeaturedVehicle = true,
                ImageFileName   = "test.png",
                Sold            = false
            };

            repo.Insert(test);


            var vehicle = repo.GetById(9);


            Assert.AreEqual(1, vehicle.VehicleMakeId);
            Assert.AreEqual(1, vehicle.VehicleModelId);
            Assert.AreEqual(2, vehicle.VehicleTypeId);
            Assert.AreEqual(3, vehicle.BodyStyleId);
            Assert.AreEqual(2, vehicle.TransmissionTypeId);
            Assert.AreEqual(2020, vehicle.Year);
            Assert.AreEqual(3, vehicle.ColorId);
            Assert.AreEqual(1, vehicle.InteriorColorId);
            Assert.AreEqual(0, vehicle.Mileage);
            Assert.AreEqual("test", vehicle.VIN);
            Assert.AreEqual(99000M, vehicle.MSRP);
            Assert.AreEqual(92000M, vehicle.SalePrice);
            Assert.AreEqual("New Car", vehicle.Description);
            Assert.AreEqual(true, vehicle.FeaturedVehicle);
            Assert.AreEqual("test.png", vehicle.ImageFileName);
            Assert.AreEqual(false, vehicle.Sold);
        }
Пример #10
0
        public VehicleListing GetById(int listingId)
        {
            VehicleListing listing = null;

            using (var cn = new SqlConnection())
            {
                cn.ConnectionString = Settings.GetConnectionString();

                var parameters = new DynamicParameters();
                parameters.Add("@VehicleListingId", listingId);

                listing = cn.Query <VehicleListing>("ListingsSelectById",
                                                    parameters,
                                                    commandType: CommandType.StoredProcedure).FirstOrDefault();
            }

            return(listing);
        }
Пример #11
0
        public void CanInsertListing()
        {
            var repo = new VehicleListingRepoQA();

            VehicleListing car = new VehicleListing()
            {
                VehicleMakeId      = 1,
                VehicleModelId     = 1,
                VehicleTypeId      = 2,
                BodyStyleId        = 5,
                TransmissionTypeId = 1,
                Year            = 1997,
                ColorId         = 2,
                InteriorColorId = 4,
                Mileage         = 20000,
                VIN             = "11111111111111111",
                MSRP            = 40000.00M,
                SalePrice       = 36000.00M,
                Description     = "Ultimate sport utility vehicle",
                FeaturedVehicle = true,
                Sold            = false,
                ImageFileName   = "placeholder.png"
            };

            repo.Insert(car);

            var addedListing = repo.GetById(5);

            Assert.AreEqual(5, addedListing.VehicleListingId);
            Assert.AreEqual(1, addedListing.VehicleMakeId);

            var featuredListings = repo.GetFeatured().ToList();

            Assert.AreEqual(3, featuredListings.Count());
            Assert.AreEqual(5, featuredListings[2].VehicleListingId);
            Assert.AreEqual(1997, featuredListings[2].Year);
            Assert.AreEqual("Ford", featuredListings[2].VehicleMakeName);
            Assert.AreEqual("Explorer", featuredListings[2].VehicleModelName);
        }
Пример #12
0
        public void CanDeleteVehicleListing()
        {
            var repo = new VehicleListingRepository();

            VehicleListing test = new VehicleListing()
            {
                VehicleMakeId      = 1,
                VehicleModelId     = 1,
                VehicleTypeId      = 2,
                BodyStyleId        = 3,
                TransmissionTypeId = 2,
                Year            = 2020,
                ColorId         = 3,
                InteriorColorId = 1,
                Mileage         = 0,
                VIN             = "test",
                MSRP            = 99000M,
                SalePrice       = 92000M,
                Description     = "New Car",
                FeaturedVehicle = true,
                ImageFileName   = "test.png",
                Sold            = false
            };

            repo.Insert(test);


            var vehicle = repo.GetById(9);

            Assert.IsNotNull(vehicle);

            repo.Delete(9);

            vehicle = repo.GetById(9);

            Assert.IsNull(vehicle);
        }
Пример #13
0
        public void CanDeleteListing()
        {
            var repo = new VehicleListingRepoQA();

            VehicleListing car = new VehicleListing()
            {
                VehicleMakeId      = 2,
                VehicleModelId     = 1,
                VehicleTypeId      = 2,
                BodyStyleId        = 3,
                TransmissionTypeId = 1,
                Year            = 1997,
                ColorId         = 2,
                InteriorColorId = 4,
                Mileage         = 20000,
                VIN             = "11111111111111111",
                MSRP            = 40000.00M,
                SalePrice       = 36000.00M,
                Description     = "Ultimate",
                FeaturedVehicle = true,
                Sold            = false,
                ImageFileName   = "placeholder.png"
            };

            repo.Insert(car);

            var listing = repo.GetById(5);

            Assert.IsNotNull(listing);

            repo.Delete(5);

            listing = repo.GetById(5);

            Assert.IsNull(listing);
        }
Пример #14
0
 public IActionResult AddToVehicleListing([FromBody] VehicleListing vehicle)
 {
     _service.TrueForNonDuplicateVins(vehicle.Vehicle.VinNumber);
     _service.AddToVehicleListing(vehicle);
     return(Ok(new { message = "Created new vehicle" }));
 }