Esempio n. 1
0
        private string SummarizeFamilyAttendance()
        {
            var sb1 = new StringBuilder();

            sb1.Append("<table>");
            sb1.AppendFormat("<tr><td width='50%'>Org:</td><td width='50%'>{0}</td></tr>\n", org.OrganizationName);
            sb1.AppendFormat("<tr><td>First:</td><td>{0}</td></tr>\n", person.PreferredName);
            sb1.AppendFormat("<tr><td>Last:</td><td>{0}</td></tr>\n", person.LastName);
            var sb = sb1;

            foreach (var m in FamilyAttend.Where(m => m.Attend))
            {
                if (m.PeopleId != null)
                {
                    sb.Append($"<tr><td colspan=\"2\">{m.Name}{(m.Age.HasValue ? $" ({Person.AgeDisplay(m.Age, m.PeopleId)})" : "")}</td></tr>\n");
                }
                else
                {
                    sb.Append($"<tr><td colspan=\"2\">{m.Name}{(m.Age.HasValue ? $" ({Person.AgeDisplay(m.Age, m.PeopleId)})" : "")}");
                    if (m.Email.HasValue())
                    {
                        sb.Append($", {m.Email}");
                    }

                    if (m.Birthday.HasValue())
                    {
                        sb.Append($", {m.Birthday}");
                    }

                    if (m.MaritalId.HasValue)
                    {
                        sb.Append($", {m.Marital}");
                    }

                    if (m.GenderId.HasValue)
                    {
                        sb.Append($", {m.Gender}");
                    }

                    sb.Append("</td></tr>\n");
                }
            }

            sb.AppendLine("</table>");
            return(sb.ToString());
        }
Esempio n. 2
0
        public string PrepareSummaryText(Transaction ti)
        {
            var om = GetOrgMember();
            var sb = new StringBuilder();

            sb.Append("<table>");
            sb.AppendFormat("<tr><td width='50%'>Org:</td><td width='50%'>{0}</td></tr>\n", org.OrganizationName);
            sb.AppendFormat("<tr><td>First:</td><td>{0}</td></tr>\n", person.PreferredName);
            sb.AppendFormat("<tr><td>Last:</td><td>{0}</td></tr>\n", person.LastName);

            if (ti.Amt > 0 && om != null)
            {
                //var omemb = new OrgMemberModel(om.OrganizationId, om.PeopleId);
                var ts = om.TransactionSummary(DbUtil.Db);
                if (ts != null)
                {
                    sb.AppendFormat(@"
<tr><td colspan='2'> 
<table cellpadding=4>
    <tr>
        <td>Registrant Fee</td>
        <td>Amount Paid</td>
        <td>Amount Due</td>
    </tr>
    <tr>
        <td align='right'>{0}</td>
        <td align='right'>{1}</td>
        <td align='right'>{2}</td>
    </tr>
</table>
</td></tr>
    ", ts.IndAmt.ToString2("c"),
                                    om.TotalPaid(DbUtil.Db).ToString("c"),
                                    om.AmountDue(DbUtil.Db).ToString("c"));
                }
            }

            if (Parent.SupportMissionTrip)
            {
                var goer = DbUtil.Db.LoadPersonById(MissionTripGoerId ?? 0);
                if (goer != null)
                {
                    sb.AppendFormat("<tr><td>Support Mission Trip for:</td><td>{0}</td></tr>\n", goer.Name);
                }
                if (MissionTripSupportGeneral > 0)
                {
                    sb.Append("<tr><td>Support Mission Trip:</td><td>Any other participiants</td></tr>\n");
                }
            }
            else if (RecordFamilyAttendance())
            {
                foreach (var m in FamilyAttend.Where(m => m.Attend))
                {
                    if (m.PeopleId != null)
                    {
                        sb.Append("<tr><td colspan=\"2\">{0}{1}</td></tr>\n"
                                  .Fmt(m.Name, (m.Age.HasValue ? " ({0})".Fmt(m.Age) : "")));
                    }
                    else
                    {
                        sb.Append("<tr><td colspan=\"2\">{0}{1}".Fmt(m.Name, (m.Age.HasValue ? " ({0})".Fmt(m.Age) : "")));
                        if (m.Email.HasValue())
                        {
                            sb.Append(", {0}".Fmt(m.Email));
                        }
                        if (m.Birthday.HasValue())
                        {
                            sb.Append(", {0}".Fmt(m.Birthday));
                        }
                        if (m.MaritalId.HasValue)
                        {
                            sb.Append(", {0}".Fmt(m.Marital));
                        }
                        if (m.GenderId.HasValue)
                        {
                            sb.Append(", {0}".Fmt(m.Gender));
                        }
                        sb.Append("</td></tr>\n");
                    }
                }
            }
            else
            {
                var rr = person.RecRegs.Single();

                foreach (var ask in setting.AskItems)
                {
                    switch (ask.Type)
                    {
                    case "AskTickets":
                        sb.AppendFormat("<tr><td>Tickets:</td><td>{0}</td></tr>\n", om.Tickets);
                        break;

                    case "AskSize":
                        sb.AppendFormat("<tr><td>Shirt:</td><td>{0}</td></tr>\n", om.ShirtSize);
                        break;

                    case "AskEmContact":
                        sb.AppendFormat("<tr><td>Emerg Contact:</td><td>{0}</td></tr>\n", rr.Emcontact);
                        sb.AppendFormat("<tr><td>Emerg Phone:</td><td>{0}</td></tr>\n", rr.Emphone);
                        break;

                    case "AskDoctor":
                        sb.AppendFormat("<tr><td>Physician Name:</td><td>{0}</td></tr>\n", rr.Doctor);
                        sb.AppendFormat("<tr><td>Physician Phone:</td><td>{0}</td></tr>\n", rr.Docphone);
                        break;

                    case "AskInsurance":
                        sb.AppendFormat("<tr><td>Insurance Carrier:</td><td>{0}</td></tr>\n", rr.Insurance);
                        sb.AppendFormat("<tr><td>Insurance Policy:</td><td>{0}</td></tr>\n", rr.Policy);
                        break;

                    case "AskRequest":
                        sb.AppendFormat("<tr><td>{1}:</td><td>{0}</td></tr>\n", om.Request, ((AskRequest)ask).Label);
                        break;

                    case "AskHeader":
                        sb.AppendFormat("<tr><td colspan='2'><h4>{0}</h4></td></tr>\n", ((AskHeader)ask).Label);
                        break;

                    case "AskInstruction":
                        break;

                    case "AskAllergies":
                        sb.AppendFormat("<tr><td>Medical:</td><td>{0}</td></tr>\n", rr.MedicalDescription);
                        break;

                    case "AskTylenolEtc":
                        sb.AppendFormat("<tr><td>Tylenol?: {0},", tylenol == true ? "Yes" : tylenol == false ? "No" : "");
                        sb.AppendFormat(" Advil?: {0},", advil == true ? "Yes" : advil == false ? "No" : "");
                        sb.AppendFormat(" Robitussin?: {0},", robitussin == true ? "Yes" : robitussin == false ? "No" : "");
                        sb.AppendFormat(" Maalox?: {0}</td></tr>\n", maalox == true ? "Yes" : maalox == false ? "No" : "");
                        break;

                    case "AskChurch":
                        sb.AppendFormat("<tr><td>Member:</td><td>{0}</td></tr>\n", rr.Member);
                        sb.AppendFormat("<tr><td>OtherChurch:</td><td>{0}</td></tr>\n", rr.ActiveInAnotherChurch);
                        break;

                    case "AskParents":
                        sb.AppendFormat("<tr><td>Mother's name:</td><td>{0}</td></tr>\n", rr.Mname);
                        sb.AppendFormat("<tr><td>Father's name:</td><td>{0}</td></tr>\n", rr.Fname);
                        break;

                    case "AskCoaching":
                        sb.AppendFormat("<tr><td>Coaching:</td><td>{0}</td></tr>\n", rr.Coaching);
                        break;

                    case "AskSMS":
                        sb.AppendFormat("<tr><td>Receive Texts:</td><td>{0}</td></tr>\n", person.ReceiveSMS);
                        break;

                    case "AskDropdown":
                        sb.AppendFormat("<tr><td>{1}:</td><td>{0}</td></tr>\n", ((AskDropdown)ask).SmallGroupChoice(option).Description,
                                        Util.PickFirst(((AskDropdown)ask).Label, "Options"));
                        break;

                    case "AskMenu":
                    {
                        var menulabel = ((AskMenu)ask).Label;
                        foreach (var i in ((AskMenu)ask).MenuItemsChosen(MenuItem[ask.UniqueId]))
                        {
                            string row;
                            if (i.amt > 0)
                            {
                                row = "<tr><td>{0}</td><td>{1} {2} (at {3:N2})</td></tr>\n".Fmt(menulabel, i.number, i.desc, i.amt);
                            }
                            else
                            {
                                row = "<tr><td>{0}</td><td>{1} {2}</td></tr>\n".Fmt(menulabel, i.number, i.desc);
                            }
                            sb.AppendFormat(row);
                            menulabel = string.Empty;
                        }
                    }
                    break;

                    case "AskCheckboxes":
                    {
                        var askcb     = (AskCheckboxes)ask;
                        var menulabel = askcb.Label;
                        foreach (var i in askcb.CheckboxItemsChosen(Checkbox))
                        {
                            string row;
                            if (menulabel.HasValue())
                            {
                                sb.Append("<tr><td colspan='2'><br>{0}</td></tr>\n".Fmt(menulabel));
                            }
                            if (i.Fee > 0)
                            {
                                row = "<tr><td></td><td>{0} (${1:N2})<br>({2})</td></tr>\n".Fmt(i.Description, i.Fee, i.SmallGroup);
                            }
                            else
                            {
                                row = "<tr><td></td><td>{0}<br>({1})</td></tr>\n".Fmt(i.Description, i.SmallGroup);
                            }
                            sb.Append(row);
                            menulabel = string.Empty;
                        }
                    }
                    break;

                    case "AskYesNoQuestions":
                        foreach (var a in ((AskYesNoQuestions)ask).list)
                        {
                            if (YesNoQuestion.ContainsKey(a.SmallGroup))
                            {
                                sb.AppendFormat("<tr><td>{0}:</td><td>{1}</td></tr>\n".Fmt(a.Question,
                                                                                           YesNoQuestion[a.SmallGroup] == true ? "Yes" : "No"));
                            }
                        }
                        break;

                    case "AskExtraQuestions":
                        foreach (var a in ExtraQuestion[ask.UniqueId])
                        {
                            if (a.Value.HasValue())
                            {
                                sb.AppendFormat("<tr><td>{0}:</td><td>{1}</td></tr>\n".Fmt(a.Key, a.Value));
                            }
                        }
                        break;

                    case "AskText":
                        foreach (var a in Text[ask.UniqueId])
                        {
                            if (a.Value.HasValue())
                            {
                                sb.AppendFormat("<tr><td>{0}:</td><td>{1}</td></tr>\n".Fmt(a.Key, a.Value));
                            }
                        }
                        break;

                    case "AskGradeOptions":
                        sb.AppendFormat("<tr><td>GradeOption:</td><td>{0}</td></tr>\n",
                                        GradeOptions(ask).SingleOrDefault(s => s.Value == (gradeoption ?? "00")).Text);
                        break;
                    }
                }
                if (setting.AgeGroups.Count > 0)
                {
                    sb.AppendFormat("<tr><td>AgeGroup:</td><td>{0}</td></tr>\n", AgeGroup());
                }
            }

            sb.Append("</table>");

            return(sb.ToString());
        }