예제 #1
0
        /// <summary>
        /// This method Create Members With EF
        /// </summary>
        public List <EF.Member> CreateMembersWithEF()
        {
            // initial value
            List <EF.Member> members = new List <EF.Member>();

            // local
            EF.Member member = null;

            // iterate the MembersToCreate
            for (int x = 0; x < info.MembersToCreate; x++)
            {
                // Create the member with EF
                member = CreateMemberWithEF();

                // If the member object exists
                if (NullHelper.Exists(member))
                {
                    // add this member
                    members.Add(member);
                }
            }

            // return value
            return(members);
        }
        /// <summary>
        /// This method Save Members
        /// </summary>
        public bool SaveMembers(List <EF.Member> members)
        {
            // initial value
            bool saved = false;

            // locals
            int         count   = 0;
            DataContext context = new DataContext();

            string message = "First Pass - Saving Members With Entity Framework";

            // If the members collection exists and has one or more items
            if (ListHelper.HasOneOrMoreItems(members))
            {
                // Setup the Graph
                SetupGraph(message, members.Count, 0);

                // iterate the members
                foreach (EF.Member currentMember in members)
                {
                    // increment the value for count
                    count++;

                    // get a local copy
                    EF.Member member = currentMember;

                    // Save any changes
                    context.Member.Add(member);

                    // save every 50 records
                    if (count % 50 == 0)
                    {
                        try
                        {
                            // Save the changes
                            context.SaveChanges();

                            // Setup the Graph
                            SetupGraph(message, members.Count, count);
                        }
                        catch (DbEntityValidationException ex)
                        {
                            // for debugging only
                            DebugHelper.WriteDebugError("SaveMembers", "MembersCreatorControl", ex);
                        }
                        catch (DbUpdateException ex)
                        {
                            // for debugging only
                            DebugHelper.WriteDebugError("SaveMembers", "MembersCreatorControl", ex);
                        }

                        // Setup the Graph
                        SetupGraph(message, members.Count, count);
                    }
                }

                // now update the Address
                message = "Saving Addresses";

                // Setup the Graph
                SetupGraph(message, members.Count, 0);

                // reset
                count = 0;

                // iterate the members
                foreach (EF.Member member in members)
                {
                    // increment the value for count
                    count++;

                    // if the memberId is set and the Address exists
                    if ((member.Id > 0) && (member.Address != null))
                    {
                        // set the Address
                        member.Address.MemberId = member.Id;

                        // Add this address
                        context.Address.Add(member.Address);
                    }

                    // save every 50 records
                    if (count % 50 == 0)
                    {
                        try
                        {
                            // Save the changes
                            context.SaveChanges();

                            // Setup the Graph
                            SetupGraph(message, members.Count, count);
                        }
                        catch (DbEntityValidationException ex)
                        {
                            // for debugging only
                            DebugHelper.WriteDebugError("SaveMembers", "MembersCreatorControl", ex);
                        }
                        catch (DbUpdateException ex)
                        {
                            // for debugging only
                            DebugHelper.WriteDebugError("SaveMembers", "MembersCreatorControl", ex);
                        }

                        // Setup the Graph
                        SetupGraph(message, members.Count, count);
                    }
                }

                // giving the benefit of the doubt
                saved = true;

                // Show a message to the user
                MessageBoxHelper.ShowMessage("Save Members Has Finished", "Save Complete");
            }

            // return value
            return(saved);
        }
예제 #3
0
        /// <summary>
        /// This method returns the Member With EF
        /// </summary>
        public EF.Member CreateMemberWithEF()
        {
            // initial value
            EF.Member member = new EF.Member();

            // Locals
            EF.ZipCode zipCode = null;

            // locals
            string unit = "";

            try
            {
                // set each property
                member.Active = true;

                // Create Address
                member.Address = new EF.Address();

                // get the AddressNumber
                int addressNumber = AddressNumberShuffler.PullNumber();

                // if the AddressNumber
                if (addressNumber % 100 < Info.PercentInApartments)
                {
                    // now get a number % 26
                    int isUnitNumericValue = ((addressNumber * 67) % 100) + 1;

                    // If this value is higher than percent needed for UnitNumeric
                    if (isUnitNumericValue > Info.PercentUnitNumeric)
                    {
                        // This is a letter instead of a number
                        unit = "Unit " + ((char)((isUnitNumericValue % 26) + 65)).ToString();
                    }
                    else
                    {
                        // split half up to say 'Apt.' and half up to say #'
                        if (addressNumber % 2 == 0)
                        {
                            unit = "Apt. #" + isUnitNumericValue.ToString();
                        }
                        else if (addressNumber % 3 == 1)
                        {
                            unit = "#" + isUnitNumericValue.ToString();
                        }
                    }
                }

                // Set the properties on the Address
                member.Address.StreetAddress = (addressNumber.ToString() + " " + EFStreetNames[StreetNameShuffler.PullNumber()].Name);
                member.Address.Unit          = unit;

                // set the ZipCode
                zipCode = EFZipCodes[ZipCodeShuffler.PullNumber()];

                // if the zipCode exists
                if (NullHelper.Exists(zipCode))
                {
                    // Set the City
                    member.Address.City    = zipCode.CityName;
                    member.Address.StateId = zipCode.StateId;
                    member.Address.ZipCode = zipCode.Name;
                }

                // Seft the FirstName & LastName
                member.FirstName = EFFirstNames[FirstNameShuffler.PullNumber()].Name;
                member.LastName  = EFLastNames[LastNameShuffler.PullNumber()].Name;
            }
            catch (Exception error)
            {
                // for debugging only
                DebugHelper.WriteDebugError("CreateMemberWithEF", "MemberGenerator", error);
            }

            // return value
            return(member);
        }