Exemplo n.º 1
0
        public void UpdateRecReg()
        {
            var p  = DbUtil.Db.LoadPersonById(PeopleId);
            var rr = p.RecRegs.SingleOrDefault(r => r.PeopleId == PeopleId);

            if (rr == null)
            {
                rr = new RecReg();
                p.RecRegs.Add(rr);
            }
            rr.Comments = Comments;
            rr.Coaching = coaching;
            rr.ActiveInAnotherChurch = otherchurch;
            rr.Docphone           = docphone;
            rr.Doctor             = doctor;
            rr.Emcontact          = emcontact;
            rr.Emphone            = emphone;
            rr.Fname              = fname;
            rr.Insurance          = insurance;
            rr.MedAllergy         = medical.HasValue();
            rr.MedicalDescription = medical;
            rr.Tylenol            = tylenol;
            rr.Advil              = advil;
            rr.Robitussin         = robitussin;
            rr.Maalox             = maalox;
            rr.Member             = member;
            rr.Mname              = mname;
            rr.Policy             = policy;
            rr.ShirtSize          = shirtsize;
            p.CustodyIssue        = custody;
            p.OkTransport         = transport;

            DbUtil.Db.SubmitChanges();
            DbUtil.LogActivity("Updated RecReg: {0}".Fmt(p.Name));
        }
Exemplo n.º 2
0
        private RecReg GetRecRegOrTemp(Person p)
        {
            var rr = p.RecRegs.SingleOrDefault();

            if (rr == null)
            {
                rr = new RecReg();
            }
            return(rr);
        }
Exemplo n.º 3
0
 private void IfAskPassport(TextWriter writer, HelperOptions options, dynamic context, params object[] args)
 {
     if (currentAsk.IsAskPassport)
     {
         var    unmask = OrgMember.Organization.GetExtra(db, "UnmaskPassportInfoInTemplate").ToBool();
         RecReg rr     = OrgMember.Person.GetRecReg();
         options.Template(writer, new
         {
             PassportNumber  = unmask ? Util.Decrypt(rr.PassportNumber) : "••••••••••",
             PassportExpires = unmask ? Util.Decrypt(rr.PassportExpires) : "••••"
         });
     }
 }
Exemplo n.º 4
0
        public void PopulateRegistrationFromDb(OrganizationMember om)
        {
            var reg = person.RecRegs.SingleOrDefault();

            if (reg == null)
            {
                reg = new RecReg();
                person.RecRegs.Add(reg);
            }
            foreach (var ask in setting.AskItems)
            {
                switch (ask.Type)
                {
                case "AskSize":
                    shirtsize = om.ShirtSize;
                    break;

                case "AskChurch":
                    otherchurch = reg.ActiveInAnotherChurch ?? false;
                    memberus    = reg.Member ?? false;
                    break;

                case "AskAllergies":
                    medical = reg.MedicalDescription;
                    break;

                case "AskParents":
                    mname = reg.Mname;
                    fname = reg.Fname;
                    break;

                case "AskEmContact":
                    emcontact = reg.Emcontact;
                    emphone   = reg.Emphone;
                    break;

                case "AskTylenolEtc":
                    tylenol    = reg.Tylenol;
                    advil      = reg.Advil;
                    robitussin = reg.Robitussin;
                    maalox     = reg.Maalox;
                    break;

                case "AskDoctor":
                    docphone = reg.Docphone;
                    doctor   = reg.Doctor;
                    break;

                case "AskCoaching":
                    coaching = reg.Coaching;
                    break;

                //                    case "AskSMS":
                //                        sms = person.ReceiveSMS;
                //                        break;
                case "AskInsurance":
                    insurance = reg.Insurance;
                    policy    = reg.Policy;
                    break;

                case "AskTickets":
                    ntickets = om.Tickets;
                    break;

                case "AskYesNoQuestions":
                    if (setting.TargetExtraValues == false)
                    {
                        foreach (var yn in ((AskYesNoQuestions)ask).list)
                        {
                            {
                                if (om.IsInGroup("Yes:" + yn.SmallGroup))
                                {
                                    YesNoQuestion[yn.SmallGroup] = true;
                                }
                                if (om.IsInGroup("No:" + yn.SmallGroup))
                                {
                                    YesNoQuestion[yn.SmallGroup] = false;
                                }
                            }
                        }
                    }
                    else
                    {
                        foreach (var yn in ((AskYesNoQuestions)ask).list)
                        {
                            if (person.GetExtra(yn.SmallGroup) == "Yes")
                            {
                                YesNoQuestion[yn.SmallGroup] = true;
                            }
                            if (person.GetExtra(yn.SmallGroup) == "No")
                            {
                                YesNoQuestion[yn.SmallGroup] = false;
                            }
                        }
                    }
                    break;

                case "AskCheckboxes":
                    if (setting.TargetExtraValues)
                    {
                        foreach (var ck in ((AskCheckboxes)ask).list)
                        {
                            if (person.GetExtra(ck.SmallGroup).ToBool())
                            {
                                Checkbox.Add(ck.SmallGroup);
                            }
                        }
                    }
                    else
                    {
                        foreach (var ck in ((AskCheckboxes)ask).list)
                        {
                            if (om.IsInGroup(ck.SmallGroup))
                            {
                                Checkbox.Add(ck.SmallGroup);
                            }
                        }
                    }
                    break;

                case "AskExtraQuestions":
                    if (ExtraQuestion == null)
                    {
                        ExtraQuestion = new List <Dictionary <string, string> >();
                    }
                    var eq = new Dictionary <string, string>();
                    ExtraQuestion.Add(eq);
                    var lines = (om.UserData ?? "").Split('\n');
                    foreach (var q in ((AskExtraQuestions)ask).list)
                    {
                        if (setting.TargetExtraValues)
                        {
                            var v = person.GetExtra(q.Question);
                            if (v.HasValue())
                            {
                                eq[q.Question] = v;
                            }
                        }
                        else
                        {
                            var v = (from li in lines
                                     where li.StartsWith(q.Question + ": ")
                                     select li.Substring(q.Question.Length + 2)).FirstOrDefault();
                            if (v.HasValue())
                            {
                                eq[q.Question] = v;
                            }
                        }
                    }
                    break;

                case "AskText":
                    if (Text == null)
                    {
                        Text = new List <Dictionary <string, string> >();
                    }
                    var tx = new Dictionary <string, string>();
                    Text.Add(tx);
                    lines = (om.UserData ?? "").Split('\n');
                    foreach (var q in ((AskText)ask).list)
                    {
                        if (setting.TargetExtraValues)
                        {
                            var v = person.GetExtra(q.Question);
                            if (v.HasValue())
                            {
                                tx[q.Question] = v;
                            }
                        }
                        else
                        {
                            var sb = new StringBuilder();
                            var i  = 0;
                            for (; i < lines.Length; i++)
                            {
                                if (lines[i] == q.Question + ":")
                                {
                                    break;
                                }
                            }
                            for (i++; i < lines.Length; i++)
                            {
                                if (lines[i].Length == 0 || lines[i][0] != '\t')
                                {
                                    break;
                                }
                                sb.AppendLine(lines[i].Substring(1));
                            }
                            if (sb.Length > 0)
                            {
                                tx[q.Question] = sb.ToString();
                            }
                        }
                    }
                    break;

                case "AskMenu":
                    //                        foreach (var i in MenuItem)
                    //                            om.AddToGroup(DbUtil.Db, i.Key, i.Value);
                    //                        {
                    //                            var menulabel = "Menu Items";
                    //                            foreach (var i in ((AskMenu)ask).MenuItemsChosen(MenuItem))
                    //                            {
                    //                                om.AddToMemberData(menulabel);
                    //                                string desc;
                    //                                if (i.amt > 0)
                    //                                    desc = "{0} {1} (at {2:N2})".Fmt(i.number, i.desc, i.amt);
                    //                                else
                    //                                    desc = "{0} {1}".Fmt(i.number, i.desc);
                    //                                om.AddToMemberData(desc);
                    //                                menulabel = string.Empty;
                    //                            }
                    //                        }
                    break;

                case "AskDropdown":
                    if (option == null)
                    {
                        option = new List <string>();
                    }
                    if (setting.TargetExtraValues)
                    {
                        foreach (var dd in ((AskDropdown)ask).list)
                        {
                            if (person.GetExtra(dd.SmallGroup) == "true")
                            {
                                option.Add(dd.SmallGroup);
                            }
                        }
                    }
                    else
                    {
                        foreach (var dd in ((AskDropdown)ask).list)
                        {
                            if (om.IsInGroup(dd.SmallGroup))
                            {
                                option.Add(dd.SmallGroup);
                            }
                        }
                    }
                    break;

                case "AskGradeOptions":
                    gradeoption = person.Grade.ToString();
                    if (!setting.TargetExtraValues)
                    {
                        gradeoption = om.Grade.ToString();
                    }
                    break;
                }
            }
            //            if (setting.TargetExtraValues)
            //            {
            //                foreach (var ag in setting.AgeGroups)
            //                    person.RemoveExtraValue(DbUtil.Db, ag.SmallGroup);
            //                if (setting.AgeGroups.Count > 0)
            //                    person.AddEditExtraValue(AgeGroup(), "true");
            //            }
            //            else
            //            {
            //                foreach (var ag in setting.AgeGroups)
            //                    om.RemoveFromGroup(DbUtil.Db, ag.SmallGroup);
            //                if (setting.AgeGroups.Count > 0)
            //                    om.AddToGroup(DbUtil.Db, AgeGroup());
            //            }
        }
Exemplo n.º 5
0
        public OrganizationMember Enroll(Transaction ti, string paylink, bool?testing, string others)
        {
            var membertype = MemberTypeCode.Member;

            if (setting.AddAsProspect)
            {
                membertype = MemberTypeCode.Prospect;
            }
            var om = OrganizationMember.InsertOrgMembers(DbUtil.Db, org.OrganizationId, person.PeopleId,
                                                         membertype, DateTime.Now, null, false);

            var reg = person.RecRegs.SingleOrDefault();

            if (reg == null)
            {
                reg = new RecReg();
                person.RecRegs.Add(reg);
            }
            if (Parent.SupportMissionTrip)
            {
                if (!om.IsInGroup("Goer"))
                {
                    om.MemberTypeId = MemberTypeCode.InActive;
                }
                om.AddToGroup(DbUtil.Db, "Sender");
                return(om);
            }
            if (RecordFamilyAttendance())
            {
                RecordAllFamilyAttends(om);
                return(om);
            }
            om.Amount = TotalAmount();
            //om.AmountPaid = ti.Amt;
//            if (ti.Id != ti.OriginalId)
//            {
//                var ti0 = DbUtil.Db.Transactions.Single(tt => tt.Id == ti.OriginalId);
//                om.AmountPaid += ti0.Amt;
//            }
            foreach (var ask in setting.AskItems)
            {
                switch (ask.Type)
                {
                case "AskSize":
                    om.ShirtSize  = shirtsize;
                    reg.ShirtSize = shirtsize;
                    break;

                case "AskChurch":
                    reg.ActiveInAnotherChurch = otherchurch;
                    reg.Member = memberus;
                    break;

                case "AskAllergies":
                    reg.MedAllergy         = medical.HasValue();
                    reg.MedicalDescription = medical;
                    break;

                case "AskParents":
                    reg.Mname = mname;
                    reg.Fname = fname;
                    break;

                case "AskEmContact":
                    reg.Emcontact = emcontact;
                    reg.Emphone   = emphone;
                    break;

                case "AskTylenolEtc":
                    reg.Tylenol    = tylenol;
                    reg.Advil      = advil;
                    reg.Robitussin = robitussin;
                    reg.Maalox     = maalox;
                    break;

                case "AskDoctor":
                    reg.Docphone = docphone;
                    reg.Doctor   = doctor;
                    break;

                case "AskCoaching":
                    reg.Coaching = coaching;
                    break;

                case "AskSMS":
                    if (sms.HasValue && LoggedIn == true)
                    {
                        person.UpdateValue("ReceiveSMS", sms.Value);
                    }
                    break;

                case "AskInsurance":
                    reg.Insurance = insurance;
                    reg.Policy    = policy;
                    break;

                case "AskTickets":
                    om.Tickets = ntickets;
                    break;

                case "AskYesNoQuestions":
                    if (setting.TargetExtraValues == false)
                    {
                        foreach (var yn in ((AskYesNoQuestions)ask).list)
                        {
                            om.RemoveFromGroup(DbUtil.Db, "Yes:" + yn.SmallGroup);
                            om.RemoveFromGroup(DbUtil.Db, "No:" + yn.SmallGroup);
                        }
                        foreach (var g in YesNoQuestion)
                        {
                            om.AddToGroup(DbUtil.Db, (g.Value == true ? "Yes:" : "No:") + g.Key);
                        }
                    }
                    else
                    {
                        foreach (var g in YesNoQuestion)
                        {
                            person.AddEditExtraValue(g.Key, g.Value == true ? "Yes" : "No");
                        }
                    }
                    break;

                case "AskCheckboxes":
                    if (setting.TargetExtraValues)
                    {
                        foreach (var ck in ((AskCheckboxes)ask).list)
                        {
                            person.RemoveExtraValue(DbUtil.Db, ck.SmallGroup);
                        }
                        foreach (var g in ((AskCheckboxes)ask).CheckboxItemsChosen(Checkbox))
                        {
                            person.AddEditExtraBool(g.SmallGroup, true);
                        }
                    }
                    else
                    {
                        foreach (var ck in ((AskCheckboxes)ask).list)
                        {
                            ck.RemoveFromSmallGroup(DbUtil.Db, om);
                        }
                        foreach (var i in ((AskCheckboxes)ask).CheckboxItemsChosen(Checkbox))
                        {
                            i.AddToSmallGroup(DbUtil.Db, om, PythonEvents);
                        }
                    }
                    break;

                case "AskExtraQuestions":
                    foreach (var g in ExtraQuestion[ask.UniqueId])
                    {
                        if (g.Value.HasValue())
                        {
                            if (setting.TargetExtraValues)
                            {
                                person.AddEditExtraData(g.Key, g.Value);
                            }
                            else
                            {
                                om.AddToMemberData("{0}: {1}".Fmt(g.Key, g.Value));
                            }
                        }
                    }
                    break;

                case "AskText":
                    foreach (var g in Text[ask.UniqueId])
                    {
                        if (g.Value.HasValue())
                        {
                            if (setting.TargetExtraValues)
                            {
                                person.AddEditExtraData(g.Key, g.Value);
                            }
                            else
                            {
                                om.AddToMemberData("{0}:".Fmt(g.Key));
                                var lines = g.Value.SplitLines();
                                foreach (var line in lines)
                                {
                                    om.AddToMemberData("\t{0}".Fmt(line));
                                }
                            }
                        }
                    }
                    break;

                case "AskMenu":
                    foreach (var i in MenuItem[ask.UniqueId])
                    {
                        om.AddToGroup(DbUtil.Db, i.Key, i.Value);
                    }
                    {
                        var menulabel = ((AskMenu)ask).Label;
                        foreach (var i in ((AskMenu)ask).MenuItemsChosen(MenuItem[ask.UniqueId]))
                        {
                            om.AddToMemberData(menulabel);
                            string desc;
                            if (i.amt > 0)
                            {
                                desc = "{0} {1} (at {2:N2})".Fmt(i.number, i.desc, i.amt);
                            }
                            else
                            {
                                desc = "{0} {1}".Fmt(i.number, i.desc);
                            }
                            om.AddToMemberData(desc);
                            menulabel = string.Empty;
                        }
                    }
                    break;

                case "AskDropdown":
                    if (setting.TargetExtraValues)
                    {
                        foreach (var op in ((AskDropdown)ask).list)
                        {
                            person.RemoveExtraValue(DbUtil.Db, op.SmallGroup);
                        }
                        person.AddEditExtraValue(((AskDropdown)ask).SmallGroupChoice(option).SmallGroup, "true");
                    }
                    else
                    {
                        foreach (var op in ((AskDropdown)ask).list)
                        {
                            op.RemoveFromSmallGroup(DbUtil.Db, om);
                        }
                        ((AskDropdown)ask).SmallGroupChoice(option).AddToSmallGroup(DbUtil.Db, om, PythonEvents);
                    }
                    break;

                case "AskGradeOptions":
                    if (setting.TargetExtraValues)
                    {
                        person.Grade = gradeoption.ToInt();
                    }
                    else
                    {
                        om.Grade     = gradeoption.ToInt();
                        person.Grade = gradeoption.ToInt();
                    }
                    break;
                }
            }
            if (setting.TargetExtraValues)
            {
                foreach (var ag in setting.AgeGroups)
                {
                    person.RemoveExtraValue(DbUtil.Db, ag.SmallGroup);
                }
                if (setting.AgeGroups.Count > 0)
                {
                    person.AddEditExtraValue(AgeGroup(), "true");
                }
            }
            else
            {
                foreach (var ag in setting.AgeGroups)
                {
                    om.RemoveFromGroup(DbUtil.Db, ag.SmallGroup);
                }
                if (setting.AgeGroups.Count > 0)
                {
                    om.AddToGroup(DbUtil.Db, AgeGroup());
                }
            }

            if (setting.LinkGroupsFromOrgs.Count > 0)
            {
                var q = from omt in DbUtil.Db.OrgMemMemTags
                        where setting.LinkGroupsFromOrgs.Contains(omt.OrgId)
                        where omt.PeopleId == om.PeopleId
                        select omt.MemberTag.Name;
                foreach (var name in q)
                {
                    om.AddToGroup(DbUtil.Db, name);
                }
            }
            if (om.Organization.IsMissionTrip == true)
            {
                om.AddToGroup(DbUtil.Db, "Goer");
            }

            var sb = new StringBuilder();

            sb.AppendFormat("{0:g} ----------------\n", DateTime.Now);
            if (om.AmountPaid > 0)
            {
                sb.AppendFormat("{0:c} ({1} id) transaction amount\n", ti.Amt, ti.Id);
                sb.AppendFormat("{0:c} applied to this registrant\n", AmountToPay());
                sb.AppendFormat("{0:c} total due all registrants\n", ti.Amtdue);
                if (others.HasValue())
                {
                    sb.AppendFormat("Others: {0}\n", others);
                }
            }
            om.AddToMemberData(sb.ToString());


            var sbreg = new StringBuilder();

            sbreg.AppendFormat("{0}\n".Fmt(org.OrganizationName));
            sbreg.AppendFormat("{0:g} ----------------\n", DateTime.Now);
            if (om.AmountPaid > 0)
            {
                sbreg.AppendFormat("{0:c} ({1} id) transaction amount\n", ti.Amt, ti.Id);
                sbreg.AppendFormat("{0:c} applied to this registrant\n", AmountToPay());
                sbreg.AppendFormat("{0:c} total due all registrants\n", ti.Amtdue);
            }
            if (paylink.HasValue())
            {
                sbreg.AppendLine(paylink);
                om.PayLink = paylink;
            }
            if (request.HasValue())
            {
                sbreg.AppendFormat("Request: {0}\n", request);
                om.Request = request;
            }
            sbreg.AppendFormat("{0}\n", EmailAddress);

            reg.AddToComments(sbreg.ToString());

            DbUtil.Db.SubmitChanges();
            return(om);
        }
Exemplo n.º 6
0
        public MobilePersonExtended populate(Person p, bool includeFamily)
        {
            id       = p.PeopleId;
            familyID = p.FamilyId;

            campusID = p.CampusId ?? 0;

            title  = p.TitleCode ?? "";
            first  = p.FirstName ?? "";
            middle = p.MiddleName ?? "";
            last   = p.LastName ?? "";
            suffix = p.SuffixCode ?? "";

            goesBy = p.NickName ?? "";
            alt    = p.AltName ?? "";
            former = p.MaidenName ?? "";

            genderID   = p.GenderId;
            genderText = p.Gender.Description ?? "";

            maritalStatusID   = p.MaritalStatusId;
            maritalStatusText = p.MaritalStatus.Description ?? "";

            age = p.Age ?? -1;

            if (p.DOB.Length > 0)
            {
                hasBirthday  = 1;
                birthdayDate = new DateTime(p.BirthYr ?? 1800, p.BirthMonth ?? 0, p.BirthDay ?? 0);
            }

            if (p.WeddingDate.HasValue)
            {
                hasWeddingDate = 1;
                weddingDate    = p.WeddingDate.Value;
            }

            if (p.DeceasedDate.HasValue)
            {
                isDeceased   = 1;
                deceasedDate = p.DeceasedDate.Value;
            }

            primaryEmail       = p.EmailAddress ?? "";
            primaryEmailActive = p.SendEmailAddress1 ?? false ? 1 : 0;

            altEmail       = p.EmailAddress2 ?? "";
            altEmailActive = p.SendEmailAddress2 ?? false ? 1 : 0;

            homePhone   = p.HomePhone ?? "";
            workPhone   = p.WorkPhone ?? "";
            mobilePhone = p.CellPhone ?? "";

            doNotCall          = p.DoNotCallFlag ? 1 : 0;
            doNotMail          = p.DoNotMailFlag ? 1 : 0;
            doNotVisit         = p.DoNotVisitFlag ? 1 : 0;
            doNotPublishPhones = p.DoNotPublishPhones ?? false ? 1 : 0;

            familyAddress.primary  = p.AddressTypeId == 10 ? 1 : 0;
            familyAddress.address1 = p.Family.AddressLineOne ?? "";
            familyAddress.address2 = p.Family.AddressLineTwo ?? "";
            familyAddress.city     = p.Family.CityName ?? "";
            familyAddress.state    = p.Family.StateCode ?? "";
            familyAddress.zip      = p.Family.ZipCode.FmtZip() ?? "";
            familyAddress.country  = p.Family.CountryName ?? "";

            personalAddress.primary  = p.AddressTypeId == 30 ? 1 : 0;
            personalAddress.address1 = p.AddressLineOne ?? "";
            personalAddress.address2 = p.AddressLineTwo ?? "";
            personalAddress.city     = p.CityName ?? "";
            personalAddress.state    = p.StateCode ?? "";
            personalAddress.zip      = p.ZipCode.FmtZip() ?? "";
            personalAddress.country  = p.CountryName ?? "";

            statusID   = p.MemberStatusId;
            statusText = p.MemberStatus.Description ?? "";

            occupation = p.OccupationOther ?? "";
            employer   = p.EmployerOther ?? "";
            school     = p.SchoolOther ?? "";
            grade      = p.Grade?.ToString() ?? "";

            electronicStatement = p.ElectronicStatement ?? false ? 1 : 0;
            statementType       = p.ContributionOptionsId ?? 0;
            envelopeOption      = p.EnvelopeOptionsId ?? 0;

            if (includeFamily)
            {
                List <Person> family = (from m in p.Family.People
                                        where m.PeopleId != p.PeopleId
                                        orderby m.PositionInFamilyId, m.PositionInFamilyId == 10 ? m.GenderId : 10, m.Age descending
                                        select m).ToList();

                foreach (Person familyMember in family)
                {
                    familyMembers.Add(new MobileFamilyMember(familyMember));
                }
            }

            pictureData = "";

            if (p.Picture != null)
            {
                Image image = ImageData.DbUtil.Db.Images.SingleOrDefault(i => i.Id == p.Picture.SmallId);

                if (image != null)
                {
                    pictureData = Convert.ToBase64String(image.Bits);
                    pictureX    = p.Picture.X ?? 0;
                    pictureY    = p.Picture.Y ?? 0;
                }
            }

            RecReg registration = p.GetRecReg();

            if (registration != null)
            {
                regFatherName = registration.Fname ?? "";
                regMotherName = registration.Mname ?? "";

                regCustodyIssue        = p.CustodyIssue ?? false ? 1 : 0;
                regTransport           = p.OkTransport ?? false ? 1 : 0;
                regCoaching            = registration.Coaching ?? false ? 1 : 0;
                regMemberHere          = registration.Member ?? false ? 1 : 0;
                regActiveAnotherChurch = registration.ActiveInAnotherChurch ?? false ? 1 : 0;

                regEmergencyName  = registration.Emcontact ?? "";
                regEmergencyPhone = registration.Emphone ?? "";

                regDoctor          = registration.Doctor ?? "";
                regDoctorPhone     = registration.Docphone ?? "";
                regHealthInsurance = registration.Insurance ?? "";
                regPolicyNumber    = registration.Policy ?? "";
                regAllergies       = registration.MedicalDescription ?? "";

                regTylenol    = registration.Tylenol ?? false ? 1 : 0;
                regAdvil      = registration.Advil ?? false ? 1 : 0;
                regRobitussin = registration.Robitussin ?? false ? 1 : 0;
                regMaalox     = registration.Maalox ?? false ? 1 : 0;
            }

            return(this);
        }
Exemplo n.º 7
0
        public void RepopulateRegistration(OrganizationMember om)
        {
            var reg = person.RecRegs.SingleOrDefault();

            if (reg == null)
            {
                reg = new RecReg();
                person.RecRegs.Add(reg);
            }
            foreach (var ask in setting.AskItems)
            {
                switch (ask.Type)
                {
                case "AskSize":
                    shirtsize = om.ShirtSize;
                    break;

                case "AskChurch":
                    otherchurch = reg.ActiveInAnotherChurch ?? false;
                    memberus    = reg.Member ?? false;
                    break;

                case "AskAllergies":
                    medical = reg.MedicalDescription;
                    break;

                case "AskParents":
                    mname = reg.Mname;
                    fname = reg.Fname;
                    break;

                case "AskEmContact":
                    emcontact = reg.Emcontact;
                    emphone   = reg.Emphone;
                    break;

                case "AskTylenolEtc":
                    tylenol    = reg.Tylenol;
                    advil      = reg.Advil;
                    robitussin = reg.Robitussin;
                    maalox     = reg.Maalox;
                    break;

                case "AskDoctor":
                    docphone = reg.Docphone;
                    doctor   = reg.Doctor;
                    break;

                case "AskCoaching":
                    coaching = reg.Coaching;
                    break;

                case "AskInsurance":
                    insurance = reg.Insurance;
                    policy    = reg.Policy;
                    break;

                case "AskTickets":
                    ntickets = om.Tickets;
                    break;

                case "AskYesNoQuestions":
                    PopulateYesNoChoices(om, ask);
                    break;

                case "AskCheckboxes":
                    PopulateCheckboxChoices(om, ask);
                    break;

                case "AskExtraQuestions":
                    PopulateExtraAnswers(om, ask);
                    break;

                case "AskText":
                    PopulateTextAnswers(om, ask);
                    break;

                case "AskMenu":
                    break;

                case "AskDropdown":
                    PopulateDropdownChoices(om, ask);
                    break;

                case "AskGradeOptions":
                    PopulateGradeChoice(om);
                    break;
                }
            }
        }