예제 #1
0
            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);
            }
예제 #2
0
        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());
        }