public async Task EditMembershipAsync(MembershipAdminEditViewModel inputModel) { var membership = await this.dbContext.Memberships .FirstOrDefaultAsync(m => m.Id == inputModel.Id); if (membership == null) { throw new ArgumentNullException(string.Format(ServicesConstants.InvalidMembershipId, inputModel.Id)); } membership.IsDeleted = inputModel.IsDeleted; membership.DeletedOn = inputModel.DeletedOn; membership.ModifiedOn = inputModel.ModifiedOn; membership.CreatedOn = inputModel.CreatedOn; membership.Name = inputModel.Name; membership.MonthlyPrice = inputModel.MonthlyPrice; membership.YearlyPrice = inputModel.YearlyPrice; this.dbContext.Update(membership); await this.dbContext.SaveChangesAsync(); }
public async Task <IActionResult> Edit(MembershipAdminEditViewModel inputModel) { if (!this.ModelState.IsValid) { return(this.View(inputModel)); } await this.membershipsService.EditMembershipAsync(inputModel); return(this.RedirectToAction("All")); }
public async Task EditMembershipAsyncShouldEditMembershipSuccessfully() { var options = new DbContextOptionsBuilder <MyCalisthenicAppDbContext>() .UseInMemoryDatabase(databaseName: Guid.NewGuid().ToString()) .Options; var dbContext = new MyCalisthenicAppDbContext(options); var mockMapper = new MapperConfiguration(cfg => { cfg.AddProfile(new MyCalisthenicAppProfile()); }); var mapper = mockMapper.CreateMapper(); var membershipsService = new MembershipsService(dbContext, mapper); var membership = new Membership { Id = MembershipId, Name = MembershipName, }; await dbContext.Memberships.AddAsync(membership); await dbContext.SaveChangesAsync(); var membershipModel = new MembershipAdminEditViewModel { Id = MembershipId, Name = MembershipName, YearlyPrice = MembershipYearlyPrice, }; await membershipsService.EditMembershipAsync(membershipModel); var actual = await dbContext.Memberships.FirstOrDefaultAsync(m => m.Id == MembershipId); Assert.Equal(actual.YearlyPrice, membershipModel.YearlyPrice); }
public async Task EditMembershipAsyncShouldThrowExceptionIfmembershipIsNull() { var options = new DbContextOptionsBuilder <MyCalisthenicAppDbContext>() .UseInMemoryDatabase(databaseName: Guid.NewGuid().ToString()) .Options; var dbContext = new MyCalisthenicAppDbContext(options); var mockMapper = new MapperConfiguration(cfg => { cfg.AddProfile(new MyCalisthenicAppProfile()); }); var mapper = mockMapper.CreateMapper(); var membershipsService = new MembershipsService(dbContext, mapper); var membership = new Membership { Name = MembershipName, }; await dbContext.Memberships.AddAsync(membership); await dbContext.SaveChangesAsync(); var membershipModel = new MembershipAdminEditViewModel { Id = MembershipId, Name = MembershipName, }; var exception = await Assert.ThrowsAsync <ArgumentNullException>(async() => await membershipsService.EditMembershipAsync(membershipModel)); Assert.IsType <ArgumentNullException>(exception); }