コード例 #1
0
        public async Task AddAndSaveTest()
        {
            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 membershipCard3 = new MembershipCard()
            {
                Id = 2, CreatedAt = date3, MemberId = 2
            };

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

            fakeMembershipCardRepositoryMock.Setup(x => x.Add(It.IsAny <MembershipCard>())).Callback <MembershipCard>(arg => membershipCards.Add(arg));

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

            await membershipCardService.AddAndSave(membershipCard3);


            Assert.Equal(3, membershipCards.Count);
        }
コード例 #2
0
        public async Task GetAllTest()
        {
            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 fakeMembershipCardRepositoryMock = new Mock <IMembershipCardRepository>();
            var fakeMemberRepositoryMock         = new Mock <IMemberRepository>();

            fakeMembershipCardRepositoryMock.Setup(x => x.GetAll()).ReturnsAsync(membershipCards);

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

            var resultMembershipCardes = await membershipCardService.GetAllMembershipCards();

            Assert.Collection(resultMembershipCardes, membershipCard =>
            {
                Assert.Equal(date1, membershipCard.CreatedAt);
            },
                              membershipCard =>
            {
                Assert.Equal(date2, membershipCard.CreatedAt);
            });
        }
コード例 #3
0
        public async Task DeleteAndSaveTest()
        {
            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 fakeMembershipCardRepositoryMock = new Mock <IMembershipCardRepository>();
            var fakeMemberRepositoryMock         = new Mock <IMemberRepository>();

            fakeMembershipCardRepositoryMock.Setup(x => x.Delete(It.IsAny <long>())).Callback <long>(arg => membershipCards.RemoveAt(1));

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

            await membershipCardService.DeleteAndSave(membershipCard2.Id);

            Assert.Single(membershipCards);
            Assert.Equal(date1, membershipCards[0].CreatedAt);
        }
コード例 #4
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);
        }
コード例 #5
0
        public void ExistsTest()
        {
            var fakeMembershipCardRepositoryMock = new Mock <IMembershipCardRepository>();
            var fakeMemberRepositoryMock         = new Mock <IMemberRepository>();

            fakeMembershipCardRepositoryMock.Setup(x => x.MembershipCardExists(It.IsAny <long>())).Returns(true);

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

            bool result = membershipCardService.MembershipCardExists(1);

            Assert.True(result);
        }
コード例 #6
0
        public object GetMemberIntegralByCardSN([FromBody] MemberIntegralRequest requestParams)
        {
            if (string.IsNullOrEmpty(requestParams.CardSN))
            {
                throw new MessageException("参数信息不完整!");
            }
            var memberCardInfo = MembershipCardService.Find(o => o.CardSN == requestParams.CardSN && o.CompanyId == requestParams.CID);

            if (memberCardInfo == null)
            {
                throw new MessageException("会员卡不存在!");
            }
            if (memberCardInfo.State != 1)
            {
                var err = string.Empty;
                switch (memberCardInfo.State)
                {
                case 0:
                    err = "未激活";
                    break;

                case 2:
                    err = "已挂失";
                    break;

                case 3:
                    err = "已作废";
                    break;

                case 4:
                    err = "已退卡";
                    break;

                default:
                    err = "状态异常";
                    break;
                }
                throw new MessageException("该会员卡" + err);
            }
            var member = MembersService.Find(o => o.MemberId == memberCardInfo.MemberId);

            return(new { member.UsableIntegral, memberCardInfo.CardSN, memberCardInfo.MemberId });
        }
コード例 #7
0
        /// <summary>
        /// 刷新会员卡状态
        /// </summary>
        private void RefreshMembershipCardState()
        {
            var datas = MembershipCardService.GetMembershipListByState();

            if (datas == null || datas.Count() == 0)
            {
                return;
            }
            StringBuilder sb = new StringBuilder();

            foreach (var item in datas)
            {
                var currentDate = DateTime.Now;
                if (currentDate > item.ExpiryEnd)
                {
                    sb.Append("," + item.Id);
                }
            }

            MembershipCardService.UpdateState(5, sb.ToString());//设置过期
        }
コード例 #8
0
        public async Task GetByIdTest()
        {
            var membershipCard1 = new MembershipCard()
            {
                Id = 1, CreatedAt = date1, MemberId = 1
            };
            var membershipCard2 = new MembershipCard()
            {
                Id = 2, CreatedAt = date2, MemberId = 2
            };

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

            fakeMembershipCardRepositoryMock.Setup(x => x.GetByID(1)).ReturnsAsync(membershipCard1);

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

            var result = await membershipCardService.GetById(1);

            Assert.Equal(date1, result.CreatedAt);
        }
コード例 #9
0
 public MembershipCardsController(MembershipCardService membershipCardService)
 {
     _membershipCardService = membershipCardService;
 }