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)); }
private RecReg GetRecRegOrTemp(Person p) { var rr = p.RecRegs.SingleOrDefault(); if (rr == null) { rr = new RecReg(); } return(rr); }
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) : "••••" }); } }
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()); // } }
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); }
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); }
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; } } }