Exemplo n.º 1
0
        public async Task EditAsyncShouldEditCorrectly()
        {
            var options = new DbContextOptionsBuilder <ApplicationDbContext>()
                          .UseInMemoryDatabase(databaseName: "TrainersEditDb").Options;
            var dbContext = new ApplicationDbContext(options);

            await dbContext.Trainers.AddAsync(
                new Trainer
            {
                Id           = 1,
                FirstName    = "FirstName",
                LastName     = "LastName",
                Description  = "Description",
                Age          = 30,
                ImageUrl     = "ImageUrl",
                InstagramUrl = "InstagramUrl",
                PhoneNumber  = "0877777777",
                ProfessionId = 1,
            });

            await dbContext.SaveChangesAsync();

            var repository = new EfDeletableEntityRepository <Trainer>(dbContext);

            var service = new TrainersService(repository);

            var editModel = new EditTrainerInputServiceModel
            {
                FirstName    = "First",
                LastName     = "Last",
                Description  = "Description2",
                Age          = 50,
                ImageUrl     = "ImageUrl2",
                InstagramUrl = "InstagramUrl2",
                PhoneNumber  = "088888888",
                ProfessionId = 2,
            };

            await service.EditAsync(1, editModel);

            var result = dbContext.Trainers.FirstOrDefault(x => x.Id == 1);

            Assert.NotNull(result);
            Assert.Equal("First", result.FirstName);
            Assert.Equal("Last", result.LastName);
            Assert.Equal("Description2", result.Description);
            Assert.Equal(50, result.Age);
            Assert.Equal("ImageUrl2", result.ImageUrl);
            Assert.Equal("InstagramUrl2", result.InstagramUrl);
            Assert.Equal("088888888", result.PhoneNumber);
            Assert.Equal(2, result.ProfessionId);
        }
Exemplo n.º 2
0
        public async Task EditAsync(int id, EditTrainerInputServiceModel trainerModel)
        {
            var trainer = this.trainersRepository.All().Where(t => t.Id == id).FirstOrDefault();

            trainer.FirstName    = trainerModel.FirstName;
            trainer.LastName     = trainerModel.LastName;
            trainer.Description  = trainerModel.Description;
            trainer.Age          = trainerModel.Age;
            trainer.InstagramUrl = trainerModel.InstagramUrl;
            trainer.PhoneNumber  = trainerModel.PhoneNumber;
            trainer.ProfessionId = trainerModel.ProfessionId;

            if (trainerModel.ImageUrl != null)
            {
                trainer.ImageUrl = trainerModel.ImageUrl;
            }

            await this.trainersRepository.SaveChangesAsync();
        }