Exemplo n.º 1
0
        public async Task EditAsyncShouldChangeEntityProperties()
        {
            await this.InitializeAsync();

            var userId = Guid.NewGuid().ToString();

            await this.dbContext
            .AddAsync(new Car
            {
                Id     = 1,
                UserId = userId,
                Brand  = "Lada",
                Model  = "Niva",
            });

            await this.dbContext.SaveChangesAsync();

            var carToEdit = new CarEditIputModel
            {
                Id    = 1,
                Brand = "BMW",
                Model = "320",
            };

            // Act
            await this.carsService.EditAsync(carToEdit, userId);

            var actualCar = await this.dbContext.Cars.FirstOrDefaultAsync(x => x.Id == 1);

            // Assert
            Assert.Equal("BMW", actualCar.Brand);
        }
Exemplo n.º 2
0
        public async Task <IActionResult> Edit(int id)
        {
            var currentUser = await this.userManager.GetUserAsync(this.User);

            var isCarExist = this.carsService.IsCarExists(id, currentUser.Id);

            if (isCarExist)
            {
                CarEditIputModel model = await this.carsService.ExtractCar(id, currentUser.Id);

                return(this.View(model));
            }
            else
            {
                return(this.Unauthorized());
            }
        }
Exemplo n.º 3
0
        public async Task <IActionResult> Edit(CarEditIputModel input)
        {
            var currentUser = await this.userManager.GetUserAsync(this.User);

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

            if (input.CarPicture != null)
            {
                string carImageUrl = await this.cloudinaryService.UploadImageAsync(
                    input.CarPicture,
                    string.Format(GlobalConstants.CloudinaryCarPictureName, currentUser.Id));

                input.CarImageUrl = carImageUrl;
            }

            await this.carsService.EditAsync(input, currentUser.Id);

            return(this.RedirectToAction("Profile", "Users", new { username = currentUser.UserName, tab = "UserAllRegisteredVehicles" }));
        }
Exemplo n.º 4
0
        public async Task EditAsync(CarEditIputModel model, string userId)
        {
            var car = this.unitOfWork.Cars.All().Where(x => x.Id == model.Id && x.UserId == userId).FirstOrDefault();

            car.Brand                     = model.Brand;
            car.Model                     = model.Model;
            car.YearOfManufacture         = model.YearOfManufacture;
            car.Color                     = model.Color;
            car.Seats                     = model.Seats;
            car.IsLuggageAvaliable        = model.IsLuggageAvaliable;
            car.IsSmokingAllowed          = model.IsSmokingAllowed;
            car.IsAirConditiningAvailable = model.IsAirConditiningAvailable;
            car.IsAllowedForPets          = model.IsAllowedForPets;

            if (model.CarImageUrl != null)
            {
                car.CarImageUrl = model.CarImageUrl;
            }

            this.unitOfWork.Cars.Update(car);
            await this.unitOfWork.CompleteAsync();
        }