// 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(); }
// 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(); }
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); }