public static List <TeamTemplateDTO> BuildTeams(TeamStickerDescriptor descr) { List <string> players = new List <string>(); foreach (TeamStickerDescriptor.PlayerDescriptor p in descr.Players) { if (string.IsNullOrWhiteSpace(p.PlayerNumber)) { players.Add($"{p.PlayerName}"); } else { players.Add($"{p.PlayerNumber.ToString().PadLeft(2)} - {p.PlayerName}"); } } List <TeamTemplateDTO> r = new List <TeamTemplateDTO>(); for (int i = 0; i < 10; i++) { r.Add(new TeamTemplateDTO() { Players = players, CoachName = descr.CoachName, CoachPhone = descr.CoachPhone }); } return(r); }
public byte[] CreateTeamLabelsPDFReport(TeamStickerDescriptor descr) { if (long.TryParse(descr.CoachPhone.Trim(), out long phoneLong)) { descr.CoachPhone = string.Format("{0:(###) ###-####}", phoneLong); } PdfReport pdf = new PdfReport().DocumentPreferences(doc => { doc.RunDirection(PdfRunDirection.LeftToRight); doc.Orientation(PageOrientation.Landscape); doc.PageSize(PdfPageSize.Letter); doc.DocumentMetadata(new DocumentMetadata { Author = "TwinRinks", Application = "PdfRpt", Keywords = "Labels", Subject = "Labels Avery 8163", Title = $"{descr.TeamName} Stickers" }); doc.DocumentMargins(new DocumentMargins() { Left = 24, Top = 1 }); doc.Compression(new CompressionSettings { EnableCompression = true, EnableFullCompression = true }); }) .DefaultFonts(fonts => { fonts.Size(8); fonts.Color(System.Drawing.Color.Black); }) .MainTablePreferences(table => { table.ColumnsWidthsType(TableColumnWidthType.EquallySized); table.ShowHeaderRow(false); table.MultipleColumnsPerPage(new MultipleColumnsPerPage { ColumnsGap = 0, ColumnsPerPage = 5, ColumnsWidth = 145, IsRightToLeft = false, TopMargin = 0, }); }) .MainTableDataSource(dataSource => { dataSource.StronglyTypedList <TeamTemplateDTO>(TeamTemplateDTO.BuildTeams(descr)); }) .MainTableColumns(columns => { columns.AddColumn(column => { column.PropertyName <TeamTemplateDTO>(x => x.CoachName); column.CellsHorizontalAlignment(HorizontalAlignment.Center); column.IsVisible(true); column.FixedHeight(280); column.ColumnItemsTemplate(t => t.CustomTemplate( new MailingLabelCellTemplate())); }); }) .MainTableEvents(events => { events.DataSourceIsEmpty(message: "There is no data available to display."); }); return(pdf.GenerateAsByteArray()); }