public async Task EditAsync(int id, EditMembershipInputModel membershipModel) { var membership = this.membershipRepository.All().Where(m => m.Id == id).FirstOrDefault(); membership.Name = membershipModel.Name; membership.Price = membershipModel.Price; membership.Duration = membershipModel.Duration; membership.HaveATrainer = membershipModel.HaveATrainer; membership.AmountOfPeopleLimit = membershipModel.AmountOfPeopleLimit; membership.VisitLimit = membershipModel.VisitLimit; await this.membershipRepository.SaveChangesAsync(); }
public async Task EditAsyncShouldEditCorrectly() { var options = new DbContextOptionsBuilder <ApplicationDbContext>() .UseInMemoryDatabase(databaseName: "MembershipsEditDb").Options; var dbContext = new ApplicationDbContext(options); await dbContext.Memberships.AddAsync( new Membership { Id = 1, Name = "Name", Price = 50, Duration = Duration.OneMonth, HaveATrainer = false, AmountOfPeopleLimit = AmountOfPeopleLimit.One, VisitLimit = VisitLimit.OnePerDay, }); await dbContext.SaveChangesAsync(); var repository = new EfDeletableEntityRepository <Membership>(dbContext); var service = new MembershipsService(repository); var editModel = new EditMembershipInputModel { Name = "NewName", Price = 100, HaveATrainer = true, Duration = Duration.OneYear, AmountOfPeopleLimit = AmountOfPeopleLimit.Two, VisitLimit = VisitLimit.Unlimited, }; await service.EditAsync(1, editModel); var result = dbContext.Memberships.FirstOrDefault(x => x.Id == 1); Assert.NotNull(result); Assert.Equal("NewName", result.Name); Assert.Equal(100, result.Price); Assert.True(result.HaveATrainer); Assert.Equal(Duration.OneYear, result.Duration); Assert.Equal(AmountOfPeopleLimit.Two, result.AmountOfPeopleLimit); Assert.Equal(VisitLimit.Unlimited, result.VisitLimit); }