示例#1
0
        public async Task GetAllElectricScooterByType()
        {
            var options                = new DbContextOptionsBuilder <ApplicationDbContext>().UseInMemoryDatabase("get_all_by_type").Options;
            var dbContext              = new ApplicationDbContext(options);
            var imageService           = new ImageService(dbContext);
            var electricScooterService = new ElectricScooterService(dbContext, imageService);

            AutoMapperConfig.RegisterMappings(typeof(ElectricScooterViewModel).Assembly, typeof(ElectricScooter).Assembly);

            var scooter1 = new AddElectricScooterViewModel()
            {
                Made         = "Xiomi",
                MaximumSpeed = 35,
                Mileage      = 35,
                PriceForHour = 2.00M,
                Description  = "Test",
            };

            var scooter2 = new AddElectricScooterViewModel()
            {
                Made         = "Xiomi",
                MaximumSpeed = 35,
                Mileage      = 35,
                PriceForHour = 2.00M,
                Description  = "Test",
            };

            var addedBycicle1 = await electricScooterService.AddVehicle <AddElectricScooterViewModel>(scooter1);

            var addedBycicle2 = await electricScooterService.AddVehicle <AddElectricScooterViewModel>(scooter2);

            var scooter = electricScooterService.GetAllByType <ElectricScooterViewModel>(string.Empty, false);

            Assert.Equal(2, scooter.ToList().Count);
        }
示例#2
0
        public async Task EditEScooterShouldEdit()
        {
            var options                = new DbContextOptionsBuilder <ApplicationDbContext>().UseInMemoryDatabase("Edit").Options;
            var dbContext              = new ApplicationDbContext(options);
            var imageService           = new ImageService(dbContext);
            var electricScooterService = new ElectricScooterService(dbContext, imageService);

            AutoMapperConfig.RegisterMappings(typeof(EditElectricScooterViewModel).Assembly, typeof(ElectricScooter).Assembly);

            var addModel = new AddElectricScooterViewModel()
            {
                Made         = "Xiomi",
                MaximumSpeed = 35,
                Mileage      = 35,
                PriceForHour = 2.00M,
                Description  = "Test",
            };

            var addedScooter = await electricScooterService.AddVehicle <AddElectricScooterViewModel>(addModel);

            var editModel = new EditElectricScooterViewModel()
            {
                Made         = "Edited",
                MaximumSpeed = 35,
                Mileage      = 35,
                PriceForHour = 2.00M,
                Description  = "Test",
            };

            await electricScooterService.DoEdit <EditElectricScooterViewModel>(editModel);

            var editedModel = electricScooterService.EditDetails <EditElectricScooterViewModel>(addedScooter);

            Assert.Equal("Edited", editModel.Made);
        }
示例#3
0
        public async Task AddImageToScooter()
        {
            var options                = new DbContextOptionsBuilder <ApplicationDbContext>().UseInMemoryDatabase("add_image").Options;
            var dbContext              = new ApplicationDbContext(options);
            var imageService           = new ImageService(dbContext);
            var electricScooterService = new ElectricScooterService(dbContext, imageService);

            AutoMapperConfig.RegisterMappings(typeof(ElectricScooterViewModel).Assembly, typeof(ElectricScooter).Assembly);
            AutoMapperConfig.RegisterMappings(typeof(EditElectricScooterViewModel).Assembly, typeof(ElectricScooter).Assembly);

            var scooter1 = new AddElectricScooterViewModel()
            {
                Made         = "Xiomi",
                MaximumSpeed = 35,
                Mileage      = 35,
                PriceForHour = 2.00M,
                Description  = "Test",
            };

            var imagePath = "Test";
            var scooter   = await electricScooterService.AddVehicle <AddElectricScooterViewModel>(scooter1);

            await electricScooterService.AddImageUrls(scooter, imagePath);

            var result = electricScooterService.EditDetails <ElectricScooterViewModel>(scooter);

            Assert.Equal(imagePath, result.ImageUrl);
        }
示例#4
0
        public async Task DeleteScooter()
        {
            var options                = new DbContextOptionsBuilder <ApplicationDbContext>().UseInMemoryDatabase("delete_bicycle").Options;
            var dbContext              = new ApplicationDbContext(options);
            var imageService           = new ImageService(dbContext);
            var electricScooterService = new ElectricScooterService(dbContext, imageService);

            AutoMapperConfig.RegisterMappings(typeof(AddElectricScooterViewModel).Assembly, typeof(ElectricScooter).Assembly);

            var scooter1 = new AddElectricScooterViewModel()
            {
                Made         = "Xiomi",
                MaximumSpeed = 35,
                Mileage      = 35,
                PriceForHour = 2.00M,
                Description  = "Test",
            };

            var scooter = await electricScooterService.AddVehicle <AddElectricScooterViewModel>(scooter1);

            await electricScooterService.Delete(scooter);

            var bycicles = electricScooterService.GetAll <ElectricScooterViewModel>(false);

            Assert.Empty(bycicles.ToList());
        }
        public IActionResult AddElectricScooter(AddElectricScooterViewModel offer)
        {
            var userId = User.FindFirstValue(ClaimTypes.NameIdentifier);

            if (!ModelState.IsValid)
            {
                return(this.View(new AddElectricScooterViewModel(dbContext)));
            }

            this.offerService.AddElectricScooter(offer, userId);
            return(this.Redirect("/ElectricScooters/AllElectricScooters"));
        }
示例#6
0
        public async Task <IActionResult> Add(AddElectricScooterViewModel input)
        {
            if (!this.ModelState.IsValid)
            {
                return(this.View());
            }

            var electricScooterId = await this.elecitrcScooterService.AddVehicle <AddElectricScooterViewModel>(input);

            if (input.Image != null)
            {
                await this.imageService.UploadImage(input.Image, string.Format(GlobalConstants.IMAGEPATH, IMAGE, electricScooterId));

                await this.elecitrcScooterService.AddImageUrls(electricScooterId, string.Format(GlobalConstants.IMAGEPATH, IMAGE, electricScooterId));
            }

            return(this.Redirect(ALLPATH));
        }
示例#7
0
        public async Task AddEScooterTests()
        {
            var options                = new DbContextOptionsBuilder <ApplicationDbContext>().UseInMemoryDatabase("Add").Options;
            var dbContext              = new ApplicationDbContext(options);
            var imageService           = new ImageService(dbContext);
            var electricScooterService = new ElectricScooterService(dbContext, imageService);

            var model = new AddElectricScooterViewModel()
            {
                Made         = "Xiomi",
                MaximumSpeed = 35,
                Mileage      = 35,
                PriceForHour = 2.00M,
                Description  = "Test",
            };

            var electricScooterTest = await electricScooterService.AddVehicle <AddElectricScooterViewModel>(model);

            Assert.Equal(1, electricScooterTest);
        }
        public void AddElectricScooter(AddElectricScooterViewModel addScooterViewModel, string userId)
        {
            var offer = new ElectricScooterOffer()
            {
                Title = addScooterViewModel.Title,
                Make  = addScooterViewModel.Make,
                Model = addScooterViewModel.Model,
                Year  = addScooterViewModel.Year,
                Price = addScooterViewModel.Price,
                MaxSpeedAchievable = addScooterViewModel.MaxSpeedAchievable,
                Battery            = addScooterViewModel.Battery,
                MaxWeight          = addScooterViewModel.MaxWeight,
                MotorPower         = addScooterViewModel.MotorPower,
                ScooterSize        = addScooterViewModel.ScooterSize,
                TiresSize          = addScooterViewModel.TiresSize,
                TravellingDistance = addScooterViewModel.TravellingDistance,
                WaterproofLevel    = addScooterViewModel.WaterproofLevel,
                Condition          = addScooterViewModel.Condition,
                Kilometers         = addScooterViewModel.Kilometers,
                Description        = addScooterViewModel.Description,
                ContactNumber      = addScooterViewModel.ContactNumber,
                CreatedOn          = DateTime.UtcNow,
            };

            using (var target = new MemoryStream())
            {
                addScooterViewModel.MainImageFile.CopyTo(target);
                offer.OfferImage = target.ToArray();
            }

            var user = dbContext.AspNetUsers.FirstOrDefault(x => x.Id == userId);

            offer.User   = user;
            offer.UserId = userId;

            dbContext.ElectricScooterOffers.Add(offer);
            dbContext.SaveChanges();

            var offerType = "ElectricScooterOffer";

            if (addScooterViewModel.SecondImageFile != null)
            {
                using (var target = new MemoryStream())
                {
                    addScooterViewModel.SecondImageFile.CopyTo(target);
                    var offerImage = GetOfferImage(target, offer.Id, offerType);
                    dbContext.OfferImages.Add(offerImage);
                }
            }

            if (addScooterViewModel.ThirdImageFile != null)
            {
                using (var target = new MemoryStream())
                {
                    addScooterViewModel.ThirdImageFile.CopyTo(target);
                    var offerImage = GetOfferImage(target, offer.Id, offerType);
                    dbContext.OfferImages.Add(offerImage);
                }
            }

            if (addScooterViewModel.FourthImageFile != null)
            {
                using (var target = new MemoryStream())
                {
                    addScooterViewModel.FourthImageFile.CopyTo(target);
                    var offerImage = GetOfferImage(target, offer.Id, offerType);
                    dbContext.OfferImages.Add(offerImage);
                }
            }

            if (addScooterViewModel.FifthImageFile != null)
            {
                using (var target = new MemoryStream())
                {
                    addScooterViewModel.FifthImageFile.CopyTo(target);
                    var offerImage = GetOfferImage(target, offer.Id, offerType);
                    dbContext.OfferImages.Add(offerImage);
                }
            }

            if (addScooterViewModel.SixthImageFile != null)
            {
                using (var target = new MemoryStream())
                {
                    addScooterViewModel.SixthImageFile.CopyTo(target);
                    var offerImage = GetOfferImage(target, offer.Id, offerType);
                    dbContext.OfferImages.Add(offerImage);
                }
            }

            dbContext.SaveChanges();
        }