Ejemplo n.º 1
0
 public Member(List <MemberLevel> levels, BonusState bonusState, WalletState walletState, IWalletPolicy walletPolicy, IBonusPolicy bonusPolicy, IMemberPolicy memberPolicy)
 {
     this._bonusState   = bonusState;
     this._levels       = levels;
     this._walletState  = walletState;
     this._walletPolicy = walletPolicy;
     this._bonusPolicy  = bonusPolicy;
     this._memberPolicy = memberPolicy;
     this.Children      = new List <Member>();
 }
Ejemplo n.º 2
0
        //会员初始化构建器
        private static List <Member> memberInitGenarator(
            List <string> memberTierNums,
            List <string> memberGenerationNums,
            int levelNumLen,
            List <MemberLevel> levels,
            BonusState bonusState,
            WalletState walletState,
            IWalletPolicy walletPolicy,
            IBonusPolicy bonusPolicy,
            IMemberPolicy memberPolicy
            )
        {
            if (memberTierNums.Count != memberGenerationNums.Count)
            {
                throw new Exception("两个编号列表必须数量一致");
            }
            Random        random  = new Random();
            List <Member> members = new List <Member>();
            Dictionary <string, Member> tierMembers       = new Dictionary <string, Member>();
            Dictionary <string, Member> generationMembers = new Dictionary <string, Member>();

            for (int i = 0; i < memberTierNums.Count; i++)
            {
                string tierNum       = memberTierNums[i];
                string generationNum = memberGenerationNums[i];
                Member member        = new Member(levels, bonusState, walletState, walletPolicy, bonusPolicy, memberPolicy)
                {
                    Name       = string.Format("{0}-{1}", tierNum, generationNum),
                    ID         = Guid.NewGuid(),
                    RangeRatio = random.NextDouble()
                };
                members.Add(member);
                tierMembers.Add(tierNum, member);
                generationMembers.Add(generationNum, member);
                //根据编号层级添加关系
                if (i != 0)
                {
                    Member topMember = tierMembers[tierNum.Substring(0, tierNum.Length - levelNumLen)];
                    Member parent    = generationMembers[generationNum.Substring(0, generationNum.Length - levelNumLen)];
                    member.TopMember = topMember;
                    if (topMember.LeftMember == null)
                    {
                        topMember.LeftMember = member;
                    }
                    else
                    {
                        topMember.RightMember = member;
                    }
                    member.Parent = parent;
                    parent.Children.Add(member);
                }
            }
            return(members);
        }
Ejemplo n.º 3
0
 public MemberAppService(IMemberRepository memberRepository,
                         IRepository <MemberImage, long> memberImageRepository,
                         IRepository <User, long> userRepository,
                         IMemberPolicy memberPolicy,
                         IUserAppService userAppService,
                         IRepository <ClubVisit> clubVisitRepository
                         )
 {
     _memberRepository      = memberRepository;
     _memberImageRepository = memberImageRepository;
     _memberPolicy          = memberPolicy;
     _userAppService        = userAppService;
     _userRepository        = userRepository;
     _clubVisitRepository   = clubVisitRepository;
 }