private static void CreateEnvelopsForMembers(string senderAddr, ContactReportResultDto contact, ContactReportAddress addr, FilterContactReport filter) { foreach (ContactReportMambers member in contact.Members) { AddEnvelopPage(senderAddr, (filter.SkipTitles ? "" : member.Title) + member.FirstName + " " + member.LastName, addr, filter); } }
private static void FillWithAddresses(FilterContactReport filter, ContactReportResultDto contact) { if (filter.ReportType == TransFilterType.Family) { if (contact.Addresses.Any()) { foreach (ContactReportAddress address in contact.Addresses) { FillContRow(contact, filter, address.CompanyName, address); } } else { FillContRow(contact, filter, "", null); } } if (filter.ReportType == TransFilterType.Member) { foreach (ContactReportMambers member in contact.Members) { if (contact.Addresses.Any()) { foreach (ContactReportAddress address in contact.Addresses) { FillContRow(member, filter, address.CompanyName, address); } } else { FillContRow(member, filter, "", null); } } } }
static void FillContRow(ContactReportResultDto contact, FilterContactReport filter, string companyName, ContactReportAddress address) { colsRows++; Row row = _table.AddRow(); var startIndex = 1; //fam name FillRow(row, 0, contact.FamilyName, false, ParagraphAlignment.Left, VerticalAlignment.Center); //company if (filter.Columns.Any(r => r.Column == ReportColumns.Company)) { startIndex++; FillRow(row, 1, string.IsNullOrEmpty(companyName) ? "" : companyName, false, ParagraphAlignment.Left, VerticalAlignment.Center); } // addresses int position = filter.Columns.Any(r => r.Column == ReportColumns.Company) ? 2 : 1; if (filter.Columns.Any(e => e.Column == ReportColumns.Address && e.IsChecked)) { FillRow(row, position, address != null ? (string.IsNullOrEmpty(address.Address) ? "" : address.Address) : "", false, ParagraphAlignment.Left, VerticalAlignment.Center); startIndex++; position++; } if (filter.Columns.Any(e => (int)e.Column >= 8 && (int)e.Column <= 12 && e.IsChecked)) { startIndex++; FillRow(row, position, address != null ? GetShortAddressLine(address, filter) : "", false, ParagraphAlignment.Left, VerticalAlignment.Center); } //contacts var cols = filter.Columns.Where(e => (int)e.Column >= 0 && (int)e.Column <= 7) .OrderBy(q => q.Column) .ToList(); for (int i = 0; i < cols.Count; i++) { var index = startIndex + i; var col = cols[i]; FillRow(row, index, GetContactsForFamily(contact.Members.ToList(), filter, (int)col.Column), false, ParagraphAlignment.Left, VerticalAlignment.Center); } }
void CreateEnvelopsForMembers(ref Dictionary <int, EnvelopeAddress> labels, string senderAddr, ContactReportResultDto contact, ContactReportAddress addr, FilterContactReport filter) { var index = labels.Count; var members = contact.Members.ToList(); for (int i = 0; i < members.Count; i++) { labels.Add(index + i, AddEnvelopAddress(senderAddr, addr, filter.ReportType, members[i].Gender)); } }