コード例 #1
0
        public async Task UpdateAndSaveTest()
        {
            var membershipCard1 = new MembershipCard()
            {
                Id = 1, CreatedAt = date1, MemberId = 1
            };
            var membershipCard2 = new MembershipCard()
            {
                Id = 2, CreatedAt = date2, MemberId = 2
            };
            var membershipCards = new List <MembershipCard> {
                membershipCard1, membershipCard2
            };

            var newMembershipCard2 = new MembershipCard()
            {
                Id = 2, CreatedAt = date3, MemberId = 2
            };

            var fakeMembershipCardRepositoryMock = new Mock <IMembershipCardRepository>();
            var fakeMemberRepositoryMock         = new Mock <IMemberRepository>();

            fakeMembershipCardRepositoryMock.Setup(x => x.Update(It.IsAny <MembershipCard>())).Callback <MembershipCard>(arg => membershipCards[1] = arg);

            var membershipCardService = new MembershipCardService(fakeMembershipCardRepositoryMock.Object, fakeMemberRepositoryMock.Object);

            await membershipCardService.UpdateAndSave(newMembershipCard2);

            Assert.Equal(date3, membershipCards[1].CreatedAt);
        }
コード例 #2
0
        public async Task <IActionResult> Edit(long id, [Bind("Id,CreatedAt,MemberId")] MembershipCard membershipCard)
        {
            if (id != membershipCard.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    await _membershipCardService.UpdateAndSave(membershipCard);
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!_membershipCardService.MembershipCardExists(membershipCard.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["MemberId"] = new SelectList(await _membershipCardService.GetAllMembers(), "Id", "Name", membershipCard.MemberId);
            return(View(membershipCard));
        }