示例#1
0
        // Use this to generate member details only.
        public void GenerateMemberDetails()
        {
            List <Member> lmem = db.Members.ToList();

            foreach (Member mem in lmem)
            {
                MemberDetails details = GenerateRandomMemberDetail(mem);
                db.MemberDetails.Add(details);
            }
            db.SaveChanges();
        }
示例#2
0
        // Use this to generate all membership sample data - Member, MemberDetails, MemberAddress
        public void GenerateMembers(int membersize)
        {
            for (int i = 0; i < membersize; i++)
            {
                Member member = GenerateRandomMember();
                db.Members.Add(member);

                MemberDetails details = GenerateRandomMemberDetail(member);
                db.MemberDetails.Add(details);

                MemberAddress address = GenerateRandomMemberAddress(member);
                db.MemberAddresses.Add(address);
            }
            db.SaveChanges();
        }
示例#3
0
        public MemberDetails GenerateRandomMemberDetail(Member currMember)
        {
            double   nextval;
            string   daysofweek;
            DateTime rndjoined;

            // random date joined
            nextval = (((double)GetRandomInteger(365 * 40) / (365 * 40)) * 365 * 10);
            DateTime dtStart = new DateTime(DateTime.Now.AddYears(-10).Year, 1, 1);

            rndjoined = dtStart.AddDays(nextval);

            // get membership level - 0(basic),1(associate),2(full)
            int    memberlevel     = (int)GetRandomInteger(3);
            string membershiplevel = "";

            switch (memberlevel)
            {
            case 0:
                membershiplevel = "basic";
                break;

            case 1:
                membershiplevel = "associate";
                break;

            case 2:
                membershiplevel = "premium";
                break;
            }

            // days of week attended - generate three times
            daysofweek = "0000000";
            char[] dow             = new char[7];
            int    numdaysattended = 0;

            for (int i = 0; i < 3; i++)
            {
                System.Threading.Thread.Sleep(3);
                nextval           = (int)GetRandomInteger(7);
                dow               = daysofweek.ToArray();
                dow[(int)nextval] = '1';
                daysofweek        = new string(dow);
            }
            numdaysattended = daysofweek.Count(s => s == '1');
            DateTime dtRenewal = new DateTime(DateTime.Now.Year, rndjoined.Month, rndjoined.Day);

            // Add one year to calculated renewal date if default is earlier than today's date.
            if (dtRenewal < DateTime.Now)
            {
                dtRenewal = dtRenewal.AddYears(1);
            }

            MemberDetails details = new MemberDetails()
            {
                DateJoined          = rndjoined,
                DaysOfWeekAttend    = daysofweek,
                MemberLevel         = membershiplevel,
                MemberFee           = (10 * numdaysattended) * (memberlevel + 1),
                ReceiveNewsLetter   = true,
                IsMemberFeePaid     = true,
                RenewalReminderDate = dtRenewal,
                MemberID            = currMember.ID,
                Member = currMember
            };

            return(details);
        }