public void CanCommitLoan()
        {
            ILoanHelper loanHelper = new LoanHelper();
            ILoanDAO    loanDao    = new LoanDao(loanHelper);

            IMemberHelper memberHelper = new MemberHelper();
            IMemberDAO    memberDao    = new MemberDao(memberHelper);

            IBookHelper bookHelper = new BookHelper();
            IBookDAO    bookDao    = new BookDao(bookHelper);

            var borrowDate = DateTime.Today;
            var dueDate    = DateTime.Today.AddDays(7);

            var member = memberDao.AddMember("Jim", "Tulip", "csu phone", "*****@*****.**");

            var book = bookDao.AddBook("Jim Tulip", "Adventures in Programming", "call number");

            var loan = loanDao.CreateLoan(member, book, borrowDate, dueDate);

            loanDao.CommitLoan(loan);

            Assert.NotNull(loan);

            Assert.Equal(1, loanDao.LoanList.Count);
            Assert.Equal(loan, loanDao.LoanList[0]);

            Assert.NotEqual(0, loan.ID);
        }
예제 #2
0
        public static MemberInfo GetUser(int userId)
        {
            string     key        = $"DataCache-MemberCacheKey-{userId}";
            MemberInfo memberInfo = HiCache.Get <MemberInfo>(key);

            if (memberInfo == null)
            {
                memberInfo = new MemberDao().Get <MemberInfo>(userId);
                if (memberInfo == null)
                {
                    return(null);
                }
                memberInfo.Referral      = new ReferralDao().GetReferralInfo(userId);
                memberInfo.MemberOpenIds = new MemberOpenIdDao().GetMemberByOpenIds(userId);
                HiCache.Insert(key, memberInfo, 1800);
            }
            else
            {
                if (memberInfo.Referral == null)
                {
                    memberInfo.Referral = new ReferralDao().GetReferralInfo(userId);
                }
                if (memberInfo.MemberOpenIds == null)
                {
                    memberInfo.MemberOpenIds = new MemberOpenIdDao().GetMemberByOpenIds(userId);
                }
                HiCache.Insert(key, memberInfo, 1800);
            }
            return(memberInfo);
        }
        public void CanUpdateOverdueStatus()
        {
            ILoanHelper loanHelper = new LoanHelper();
            ILoanDAO    loanDao    = new LoanDao(loanHelper);

            IMemberHelper memberHelper = new MemberHelper();
            IMemberDAO    memberDao    = new MemberDao(memberHelper);

            IBookHelper bookHelper = new BookHelper();
            IBookDAO    bookDao    = new BookDao(bookHelper);

            var borrowDate = DateTime.Today;
            var dueDate    = DateTime.Today.AddDays(7);

            var member = memberDao.AddMember("Jim", "Tulip", "csu phone", "*****@*****.**");

            var book = bookDao.AddBook("Jim Tulip", "Adventures in Programming", "call number");

            var loan = loanDao.CreateLoan(member, book, borrowDate, dueDate);

            loanDao.CommitLoan(loan);

            Assert.Equal(LoanState.CURRENT, loan.State);

            loanDao.UpdateOverDueStatus(DateTime.Today.AddMonths(1));

            Assert.Equal(LoanState.OVERDUE, loan.State);
        }
예제 #4
0
        public static bool CreatAmountApplyRequest(MemberAmountRequestInfo applyInfo)
        {
            AmountDao amountDao = new AmountDao();
            bool      flag      = amountDao.CreatAmountApplyRequest(applyInfo);

            if (flag)
            {
                MemberInfo member = new MemberDao().GetMember(applyInfo.UserId);
                MemberAmountDetailedInfo memberAmountDetailedInfo = new MemberAmountDetailedInfo
                {
                    UserId          = applyInfo.UserId,
                    TradeAmount     = -applyInfo.Amount,
                    PayId           = Globals.GetGenerateId(),
                    UserName        = applyInfo.UserName,
                    TradeType       = TradeType.Withdrawals,
                    TradeTime       = DateTime.Now,
                    State           = 1,
                    TradeWays       = MemberAmountProcessor.GetWaysByRequestType(applyInfo.RequestType),
                    AvailableAmount = member.AvailableAmount - applyInfo.Amount,
                    Remark          = "余额提现。收款账号:" + applyInfo.AccountCode
                };
                flag = (amountDao.UpdateMember(memberAmountDetailedInfo) && MemberAmountProcessor.CreatAmount(memberAmountDetailedInfo));
            }
            return(flag);
        }
예제 #5
0
파일: index.cs 프로젝트: kb6598/toourshared
    public index()
    {
        MemberDao memberDao = new MemberDao();
        Member    member    = new Member("skvudrms54", "0", "010-8892-3312", "skvudrms54", "나평근", "남", "출신 초등학교는?", "부천남초등학교", "19950519", "*****@*****.**", TimeLib.GetToday(), TimeLib.GetToday(), "upload/skvudrms54/img/1.jpg");

        memberDao.InsertMember(member);
    }
예제 #6
0
        public static int FrozenCommisionChecks(string userids, string ReferralStatus)
        {
            int num = new DistributorsDao().FrozenCommisionChecks(userids, ReferralStatus);

            string[] strArray = userids.Trim(new char[] { ',' }).Split(new char[] { ',' });
            int      userId   = 0;

            foreach (string str in strArray)
            {
                userId = Globals.ToNum(str);
                if (userId > 0)
                {
                    MemberInfo member = new MemberDao().GetMember(userId);
                    if (member != null)
                    {
                        if (ReferralStatus == "1")
                        {
                            Messenger.SendWeiXinMsg_AccountLockOrUnLock(member, true);
                        }
                        else if (ReferralStatus == "0")
                        {
                            Messenger.SendWeiXinMsg_AccountLockOrUnLock(member, false);
                        }
                        else if (ReferralStatus == "9")
                        {
                            Messenger.SendWeiXinMsg_DistributorCancel(member);
                        }
                        RemoveDistributorCache(userId);
                    }
                }
            }
            return(num);
        }
        public void CanAddMember()
        {
            var helper = Substitute.For <IMemberHelper>();

            var memberDao = new MemberDao(helper);

            var firstName    = "first";
            var lastName     = "last";
            var contactPhone = "phone";
            var emailAddress = "email address";

            // Uses Helper to create a new member with a unique member ID.
            // Adds the member to a collection of members and returns new member.
            Assert.Equal(0, memberDao.MemberList.Count);

            // Tell the mock what to return when it is called.
            helper.MakeMember(firstName, lastName, contactPhone, emailAddress, Arg.Any <int>()).Returns(Substitute.For <Member>(firstName, lastName, contactPhone, emailAddress, 1));

            var result = memberDao.AddMember(firstName, lastName, contactPhone, emailAddress);

            // Assert that the mock's MakeMember method was called.
            helper.Received().MakeMember(firstName, lastName, contactPhone, emailAddress, Arg.Any <int>());

            Assert.NotNull(result);
            Assert.Equal(firstName, result.FirstName);
            Assert.Equal(lastName, result.LastName);
            Assert.Equal(contactPhone, result.ContactPhone);
            Assert.Equal(emailAddress, result.EmailAddress);

            Assert.Equal(1, memberDao.MemberList.Count);

            var member = memberDao.MemberList[0];

            Assert.Equal(member, result);
        }
예제 #8
0
 //TODO what does applicationUserManager do ?
 public AccountService(VaultLifeApplicationEntities db, ApplicationUserManager userManager)
 {
     this.db               = db;
     this.memberDao        = new MemberDao(db);
     this.memberSubTypeDao = new MembershipSubscriptionTypeDao(db);
     this.userManager      = userManager;
 }
예제 #9
0
        public object Do_GetMemberInfo(BaseApi baseApi)
        {
            MemberDao memberDao = new MemberDao();
            string    memberId  = Utils.GetMemberID(baseApi.token);

            return(memberDao.GetMemberInfo(memberId));
        }
        public static bool CommissionAutoToBalance(int userid, SiteSettings siteSettings, decimal resultCommTatal)
        {
            MemberInfo member = new MemberDao().GetMember(userid);

            if (member == null)
            {
                return(false);
            }
            if (siteSettings == null)
            {
                siteSettings = SettingsManager.GetMasterSettings(false);
            }
            if (siteSettings.CommissionAutoToBalance && (resultCommTatal > 0M))
            {
                MemberAmountDetailedInfo amountinfo = new MemberAmountDetailedInfo {
                    UserId          = member.UserId,
                    UserName        = member.UserName,
                    PayId           = Globals.GetGenerateId(),
                    TradeAmount     = resultCommTatal,
                    AvailableAmount = member.AvailableAmount + resultCommTatal,
                    TradeType       = TradeType.CommissionTransfer,
                    TradeWays       = TradeWays.ShopCommission,
                    TradeTime       = DateTime.Now,
                    Remark          = "佣金自动转入余额",
                    State           = 1
                };
                new AmountDao().CommissionToAmount(amountinfo, member.UserId, resultCommTatal);
            }
            return(true);
        }
        public void CanCreateMember()
        {
            IMemberHelper helper = new MemberHelper();
            IMemberDAO    dao    = new MemberDao(helper);

            var firstName    = "first";
            var lastName     = "last";
            var contactPhone = "contactPhone";
            var emailAddress = "emailAddress";

            var member = dao.AddMember(firstName, lastName, contactPhone, emailAddress);

            Assert.NotNull(member);

            Assert.NotEmpty(dao.MemberList);
            Assert.Equal(1, dao.MemberList.Count);

            Assert.Equal(member, dao.MemberList[0]);

            Assert.Equal(firstName, member.FirstName);
            Assert.Equal(lastName, member.LastName);
            Assert.Equal(contactPhone, member.ContactPhone);
            Assert.Equal(emailAddress, member.EmailAddress);

            Assert.NotEqual(0, member.ID);
        }
예제 #12
0
        public object Do_ReloadScanCode(BaseApi baseApi)
        {
            MemberDao memberDao = new MemberDao();
            string    memberId  = Utils.GetMemberID(baseApi.token);
            string    scanCode  = "";

            using (var md5 = MD5.Create())
            {
                var result    = md5.ComputeHash(Encoding.UTF8.GetBytes(Guid.NewGuid().ToString()));
                var strResult = BitConverter.ToString(result);
                scanCode = "CHECK_" + strResult.Replace("-", "");
            }
            if (!memberDao.UpdateScanCode(memberId, scanCode))
            {
                throw new ApiException(CodeMessage.UpdateScanCodeError, "UpdateScanCodeError");
            }

            MemberCheckStoreCodeParam memberCheckStoreCodeParam = new MemberCheckStoreCodeParam
            {
                code = scanCode,
            };

            MemberCheckStoreCode memberCheckStoreCode = new MemberCheckStoreCode
            {
                code     = scanCode,
                memberId = memberId,
                Unique   = memberCheckStoreCodeParam.GetUnique(),
            };

            Utils.SetCache(memberCheckStoreCode, 0, 0, 30);

            return(scanCode);
        }
예제 #13
0
        public static bool CreateMember(MemberInfo member)
        {
            MemberDao memberDao = new MemberDao();
            bool      flag      = memberDao.CreateMember(member);

            if (flag)
            {
                SiteSettings masterSettings = SettingsManager.GetMasterSettings(true);
                if (member.UserId == 0)
                {
                    Globals.Debuglog("没有UserID的注册身份" + member.SessionId, "_DebuglogReg.txt");
                    member = MemberProcessor.GetMember(member.SessionId);
                }
                bool flag2 = VshopBrowser.IsPassAutoToDistributor(member, true);
                if (flag2)
                {
                    DistributorsBrower.MemberAutoToDistributor(member);
                }
                try
                {
                    Messenger.SendWeiXinMsg_MemberRegister(member);
                }
                catch (Exception var_4_83)
                {
                }
                CouponProcessor.RegisterSendCoupon(member.SessionId);
            }
            return(flag);
        }
예제 #14
0
        public static bool FrozenCommision(int userid, string ReferralStatus)
        {
            try
            {
                MemberInfo member = new MemberDao().GetMember(userid);
                if (member != null)
                {
                    if (ReferralStatus == "1")
                    {
                        Messenger.SendWeiXinMsg_AccountLockOrUnLock(member, true);
                    }
                    else if (ReferralStatus == "0")
                    {
                        Messenger.SendWeiXinMsg_AccountLockOrUnLock(member, false);
                    }
                    else if (ReferralStatus == "9")
                    {
                        Messenger.SendWeiXinMsg_DistributorCancel(member);
                    }
                }
            }
            catch (Exception var_1_7A)
            {
            }
            bool result = new DistributorsDao().FrozenCommision(userid, ReferralStatus);

            DistributorsBrower.RemoveDistributorCache(userid);
            return(result);
        }
        public void AddMemberAssignsUniqueID()
        {
            var helper = Substitute.For <IMemberHelper>();

            var memberDao = new MemberDao(helper);

            var firstName    = "first";
            var lastName     = "last";
            var contactPhone = "phone";
            var emailAddress = "email address";

            // Make sure the id increments as Members are added.
            for (var id = 1; id < 10; id++)
            {
                helper.MakeMember(firstName, lastName, contactPhone, emailAddress, id).Returns(Substitute.For <Member>(firstName, lastName, contactPhone, emailAddress, id));

                var result = memberDao.AddMember(firstName, lastName, contactPhone, emailAddress);

                // Assert that the mock's MakeMember method was called.
                helper.Received().MakeMember(firstName, lastName, contactPhone, emailAddress, id);

                // Make sure the id of the Member is new.
                Assert.Equal(id, result.ID);
            }
        }
        public void CanGetMemberByNames()
        {
            var helper = Substitute.For <IMemberHelper>();

            var memberDao = new MemberDao(helper);

            var firstName    = "first";
            var lastName     = "last";
            var contactPhone = "phone";
            var emailAddress = "email address";

            memberDao.MemberList = new List <IMember>
            {
                Substitute.For <IMember>(),
                Substitute.For <Member>(firstName, lastName, contactPhone, emailAddress, 2),
                Substitute.For <IMember>(),
                Substitute.For <Member>(firstName, "Foo", contactPhone, emailAddress, 4),
            };

            var member = memberDao.FindMembersByNames(firstName, lastName).Single();

            Assert.NotNull(member);

            Assert.Equal(2, member.ID);
            Assert.Equal(firstName, member.FirstName);
            Assert.Equal(lastName, member.LastName);
            Assert.Equal(contactPhone, member.ContactPhone);
            Assert.Equal(emailAddress, member.EmailAddress);
        }
예제 #17
0
        public object Do_PayForOrder(BaseApi baseApi)
        {
            PayForOrderParam payForOrderParam = JsonConvert.DeserializeObject <PayForOrderParam>(baseApi.param.ToString());

            if (payForOrderParam == null)
            {
                throw new ApiException(CodeMessage.InvalidParam, "InvalidParam");
            }
            OrderDao  orderDao  = new OrderDao();
            MemberDao memberDao = new MemberDao();
            string    memberId  = Utils.GetMemberID(baseApi.token);
            Order     order     = orderDao.GetOrderInfo(payForOrderParam.orderId);

            if (order.state != "0")
            {
                throw new ApiException(CodeMessage.InvalidOrderState, "InvalidOrderState");
            }
            int goodsNum = order.list.Count;

            string[] goodsIds = new string[goodsNum];
            for (int i = 0; i < goodsNum; i++)
            {
                goodsIds[i] = order.list[i].goodsId;
            }
            List <Goods> goodsList = orderDao.GetGoodsByGoodsIds(goodsIds);

            foreach (Goods goods in goodsList)
            {
                var orderGoods = order.list.Find
                                 (
                    item => item.goodsId.Equals(goods.goodsId)
                                 );
                if (Convert.ToInt32(orderGoods.goodsNum) < 0)
                {
                    throw new ApiException(CodeMessage.ErrorNum, "ErrorNum");
                }
                if (orderGoods == null)
                {
                    throw new ApiException(CodeMessage.InvalidGoods, "InvalidGoods");
                }
                if (Convert.ToInt32(orderGoods.goodsNum) > goods.goodsStock)
                {
                    throw new ApiException(CodeMessage.NotEnoughGoods, "NotEnoughGoods");
                }
            }
            MemberInfo memberInfo = memberDao.GetMemberInfo(memberId);

            if (memberInfo.heart < Convert.ToInt32(order.total))
            {
                throw new ApiException(CodeMessage.NotEnoughHearts, "NotEnoughHearts");
            }

            if (!orderDao.PayForOrder(memberId, order, memberInfo.heart))
            {
                throw new ApiException(CodeMessage.PayForOrderError, "PayForOrderError");
            }

            return("");
        }
예제 #18
0
        public object Do_GetMemberStoreList(BaseApi baseApi)
        {
            MemberDao          memberDao = new MemberDao();
            string             memberId  = Utils.GetMemberID(baseApi.token);
            List <MemberStore> list      = memberDao.GetMemberStoreListByMemberId(memberId);

            return(list);
        }
        public void CanCreateMemberDao()
        {
            var helper = Substitute.For <IMemberHelper>();

            var memberDao = new MemberDao(helper);

            Assert.NotNull(memberDao);
        }
예제 #20
0
        public object Do_GetRemoteStore(BaseApi baseApi)
        {
            MemberDao  memberDao          = new MemberDao();
            string     memberId           = Utils.GetMemberID(baseApi.token);
            MemberInfo memberInfo         = memberDao.GetMemberInfo(memberId);
            List <RemoteStoreMember> list = memberDao.GetRemoteStoreMemberList(memberId);

            return(new { memberInfo.heart, list });
        }
예제 #21
0
        public void RunScenario()
        {
            var bookDao   = new BookDao(new BookHelper());
            var loanDao   = new LoanDao(new LoanHelper());
            var memberDao = new MemberDao(new MemberHelper());

            var display = new MainWindow();
            var reader  = new CardReader();
            var scanner = new Scanner();
            var printer = new Printer();

            var controller = new BorrowController(display, reader, scanner, printer,
                                                  bookDao, loanDao, memberDao);

            // Test pre-conditions
            Assert.NotNull(controller);

            Assert.NotNull(bookDao);
            Assert.NotNull(loanDao);
            Assert.NotNull(memberDao);
            Assert.NotNull(display);
            Assert.NotNull(reader);
            Assert.NotNull(scanner);
            Assert.NotNull(printer);

            Assert.Equal(controller._bookDAO, bookDao);
            Assert.Equal(controller._loanDAO, loanDao);
            Assert.Equal(controller._memberDAO, memberDao);
            Assert.Equal(controller._display, display);
            Assert.Equal(controller._reader, reader);
            Assert.Equal(controller._scanner, scanner);
            Assert.Equal(controller._printer, printer);

            Assert.Equal(controller._reader.Listener, controller);
            Assert.Equal(controller._scanner.Listener, controller);

            Assert.Equal(EBorrowState.CREATED, controller._state);

            // Run use case
            controller.initialise();

            // Test post-conditions
            // Borrow book UI Displayed
            Assert.True(display.Display.IsEnabled);

            var borrowCtrl = ((BorrowControl)display.Display);
            var swipeCtrl  = borrowCtrl._controlDict.Single(c => c.Value is SwipeCardControl).Value as SwipeCardControl;

            Assert.NotNull(swipeCtrl);
            Assert.True(swipeCtrl.IsEnabled);
            Assert.True(swipeCtrl.cancelButton.IsEnabled);

            Assert.True(reader.Enabled);
            Assert.True(!scanner.Enabled);
            Assert.Equal(EBorrowState.INITIALIZED, controller._state);
        }
예제 #22
0
        public static bool Delete(int userId)
        {
            bool flag = new MemberDao().Delete(userId);

            if (flag)
            {
                HiCache.Remove(string.Format("DataCache-Member-{0}", userId));
            }
            return(flag);
        }
예제 #23
0
        public static bool CreateMember(MemberInfo member)
        {
            MemberDao dao = new MemberDao();

            if (dao.IsExitOpenId(member.OpenId))
            {
                return(dao.SetMemberSessionId(member.SessionId, member.SessionEndTime, member.OpenId));
            }
            return(dao.CreateMember(member));
        }
예제 #24
0
        public static bool UpdateNoLog(MemberInfo member)
        {
            bool flag = new MemberDao().Update(member);

            if (flag)
            {
                HiCache.Remove(string.Format("DataCache-Member-{0}", member.UserId));
            }
            return(flag);
        }
예제 #25
0
        public JsonResult DeleteMember(int id)
        {
            var  dao  = new MemberDao();
            bool temp = dao.Delete(id);

            return(Json(new
            {
                status = temp
            }));
        }
예제 #26
0
        public static bool Update(MemberInfo member)
        {
            bool flag = new MemberDao().Update(member);

            if (flag)
            {
                HiCache.Remove(string.Format("DataCache-Member-{0}", member.UserId));
                EventLogs.WriteOperationLog(Privilege.EditMember, string.Format(CultureInfo.InvariantCulture, "修改了编号为 “{0}” 的会员", new object[] { member.UserId }));
            }
            return(flag);
        }
예제 #27
0
        public static MemberInfo GetMember(int userId)
        {
            MemberInfo member = HiCache.Get(string.Format("DataCache-Member-{0}", userId)) as MemberInfo;

            if (member == null)
            {
                member = new MemberDao().GetMember(userId);
                HiCache.Insert(string.Format("DataCache-Member-{0}", userId), member, 360, CacheItemPriority.Normal);
            }
            return(member);
        }
예제 #28
0
        public Scenario02SwipeBorrowerCard()
        {
            _bookDao   = new BookDao(new BookHelper());
            _loanDao   = new LoanDao(new LoanHelper());
            _memberDao = new MemberDao(new MemberHelper());

            _display = new MainWindow();
            _reader  = new CardReader();
            _scanner = new Scanner();
            _printer = new Printer();
        }
        public Scenario04CompleteScans()
        {
            _bookDao   = new BookDao(new BookHelper());
            _loanDao   = new LoanDao(new LoanHelper());
            _memberDao = new MemberDao(new MemberHelper());

            _display = new MainWindow();
            _reader  = new CardReader();
            _scanner = new Scanner();
            _printer = new Printer();
        }
예제 #30
0
        public static bool huifu(int userId)
        {
            ManagerHelper.CheckPrivilege(Privilege.DeleteMember);
            bool flag = new MemberDao().Huifu(userId);

            if (flag)
            {
                EventLogs.WriteOperationLog(Privilege.DeleteMember, string.Format(CultureInfo.InvariantCulture, "恢复了编号为 “{0}” 的会员", new object[] { userId }));
            }
            return(flag);
        }