Ejemplo n.º 1
0
        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();
        }
Ejemplo n.º 2
0
        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);
        }