コード例 #1
0
        public void CheckIfChangeScooterDetailsActuallyChangesTheDetails()
        {
            var dbContext = new AutomobileDbContext();
            var service   = new ElectricScootersService(dbContext);

            var scooterFromDb = dbContext.ElectricScooterOffers.FirstOrDefault();

            VisualizeScooterDetailsViewModel model = new VisualizeScooterDetailsViewModel()
            {
                Id                 = scooterFromDb.Id,
                Make               = "Xiaomi",
                Model              = "Pro",
                Kilometers         = 150,
                Condition          = "Used",
                MaxSpeedAchievable = 30,
                MaxWeight          = 100,
                MotorPower         = 500,
                TiresSize          = 8.5m,
                ScooterSize        = "paworoawrpo",
                TravellingDistance = 35,
                WaterproofLevel    = "IP54",
                Price              = 31231,
                Year               = 2000,
                Battery            = "new",
                Description        = "testt"
            };

            service.ChangeScooterDetails(model);
            var priceAfterChangeScooterDetails = scooterFromDb.Price;

            Assert.Equal(priceAfterChangeScooterDetails, model.Price);
        }
        public VisualizeScooterDetailsViewModel GetScooterById(int id)
        {
            var scooterOffer = dbContext.ElectricScooterOffers.FirstOrDefault(x => x.Id == id);

            var scooter = new VisualizeScooterDetailsViewModel()
            {
                Id                 = scooterOffer.Id,
                Condition          = scooterOffer.Condition.ToString(),
                Make               = scooterOffer.Make,
                Model              = scooterOffer.Model,
                Year               = scooterOffer.Year,
                Kilometers         = scooterOffer.Kilometers,
                Battery            = scooterOffer.Battery,
                MotorPower         = scooterOffer.MotorPower,
                Price              = scooterOffer.Price,
                Description        = scooterOffer.Description,
                MaxSpeedAchievable = scooterOffer.MaxSpeedAchievable,
                MaxWeight          = scooterOffer.MaxWeight,
                ScooterSize        = scooterOffer.ScooterSize,
                TiresSize          = scooterOffer.TiresSize,
                TravellingDistance = scooterOffer.TravellingDistance,
                WaterproofLevel    = scooterOffer.WaterproofLevel,
            };

            scooter.MainImage = ConvertByteArrayToImage(scooterOffer.OfferImage);
            scooter.Images.Add(ConvertByteArrayToImage(scooterOffer.OfferImage));

            foreach (var offerImage in dbContext.OfferImages.Where(x => x.ElectricScooterOfferId == scooterOffer.Id).ToList())
            {
                scooter.Images.Add(ConvertByteArrayToImage(offerImage.Image));
            }

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

            var userDetails = new UserViewModel()
            {
                Id           = user.Id,
                FullName     = user.FullName,
                PhoneNumber  = user.PhoneNumber,
                EmailAddress = user.Email
            };

            scooter.UserDetails = userDetails;

            return(scooter);
        }
        public void ChangeScooterDetails(VisualizeScooterDetailsViewModel model)
        {
            var scooterOffer = dbContext.ElectricScooterOffers.FirstOrDefault(x => x.Id == model.Id);

            scooterOffer.Condition          = (Condition)Enum.Parse(typeof(Condition), model.Condition);
            scooterOffer.Make               = model.Make;
            scooterOffer.Model              = model.Model;
            scooterOffer.Kilometers         = model.Kilometers;
            scooterOffer.MotorPower         = model.MotorPower;
            scooterOffer.TravellingDistance = model.TravellingDistance;
            scooterOffer.MaxSpeedAchievable = model.MaxSpeedAchievable;
            scooterOffer.TiresSize          = model.TiresSize;
            scooterOffer.WaterproofLevel    = model.WaterproofLevel;
            scooterOffer.MaxWeight          = model.MaxWeight;
            scooterOffer.Price              = model.Price;
            scooterOffer.ScooterSize        = model.ScooterSize;
            scooterOffer.Year               = model.Year;
            scooterOffer.Description        = model.Description;

            dbContext.SaveChanges();
        }
 public IActionResult ScooterEditDetails(int id, VisualizeScooterDetailsViewModel scooterDetails)
 {
     this.electricScootersService.ChangeScooterDetails(scooterDetails);
     return(Redirect($"/ElectricScooters/ScooterDetails?id={id}"));
 }