コード例 #1
0
        // Modified 2015-05-22 removed TemplatePath from parameter list as Template can now change with each competitor
        public static List <string> SaveAllEventCertificatesByType(List <CertificateData> CDs, string ExportPath, AEvent [] Events = null)
        {
            List <string> pdfCertificates = new List <string>();

            if (Events == null)
            {
                Events = ((App)App.Current).CurrentChampionship.Championship.listAllEvents( ).ToArray();
            }

            // Generate Event Certificates
            //foreach (AEvent Event in MainWindow.CurrentChampionship.listAllEvents())
            foreach (AEvent Event in Events)
            {
                //PDFReport CertsReport = (PDFReport)MainWindow.ReportLibrary["Certificate"]; // (PDFReport)AReport.LoadTemplate(Event.CertificateTemplate);
                //PDFReport CertsReport = (PDFReport) ChampionshipSolutions.Reports.CSReportLibrary.getLibrary() ["Certificate"]; // (PDFReport)AReport.LoadTemplate(Event.CertificateTemplate);

                if (!Event.IsFinal)
                {
                    continue;
                }

                if (Event.CertificateTemplate == null)
                {
                    continue;
                }

                PDFReport CertsReport = (PDFReport)PDFReport.LoadTemplate(Event.CertificateTemplate.Instructions, Event.CertificateTemplate.TemplateFile);

                if (CertsReport == null)
                {
                    continue;
                }

                List <CertificateData> GroupedCertificates = CDs.Where(cd => cd.Competitor.CompetingIn.Name == Event.Name).ToList();

                foreach (string str in GroupedCertificates.Select(c => c.CertificateName).Distinct())
                {
                    List <CertificateData> GroupedCertificatesType = GroupedCertificates.Where(cd => cd.CertificateName == str).OrderBy(cd => cd.CertifiacteType).ThenBy(cd => cd.RankCounter).ToList();

                    byte[] b = CertsReport.Generate(GroupedCertificatesType.ToDataSet().Tables[0]);

                    CertsReport.SaveGeneratedFile(string.Format("{0}\\{1} {2}.pdf", ExportPath, Event.Name, str));
                    pdfCertificates.Add(string.Format("{0}\\{1} {2}.pdf", ExportPath, Event.Name, str));
                }
            }

            return(pdfCertificates);
        }
コード例 #2
0
        //Modified 2015-05-22 removed Template Path from parameters as the template can change with each new competitor.
        public static List <string> SaveIndividualCertificates(List <CertificateData> CDs, string ExportPath)
        {
            List <string> pdfCertificates = new List <string>();


            //Generate the individual Certificates
            foreach (CertificateData CD in CDs)
            {
                //PDFReport CertsReport = (PDFReport)MainWindow.ReportLibrary["Certificate"]; //(PDFReport)AReport.LoadTemplate(CD.Competitor.CompetingIn.CertificateTemplate);
                PDFReport CertsReport = (PDFReport)Reports.CSReportLibrary.getLibrary() ["Certificate"];  //(PDFReport)AReport.LoadTemplate(CD.Competitor.CompetingIn.CertificateTemplate);

                // To do 2016-05-14 this is a bodge. The template is being chosen based on a hard coded string and not on the selection in EditEvent

                ACertificate cert = new CertificateInvididual()
                {
                    Competitor = CD.Competitor,
                    Event      = CD.Competitor.CompetingIn,
                    File       = new FileStorage(ExportPath, "PDF", CertsReport.Generate(new List <CertificateData>()
                    {
                        CD
                    }.ToDataSet().Tables[0]))
                };

                //if (Properties.Settings.Default.SaveCertificateToDB)
                //{
                //    CD.Competitor.Certificates.Add(cert);

                //    if (Properties.Settings.Default.SaveCertificateImage)
                //        Printing.GetPdfThumbnail(
                //            Printing.saveArrayToTemp(cert.File.FileData),
                //            string.Format("{0}{1} {4} {3} {2}.png", ExportPath, CD.EventName, CD.Competitor.getName(), CD.CertifiacteType, CD.Competitor.printVestNumber()),
                //            1, 1, GhostscriptSharp.Settings.GhostscriptPageSizes.a5);
                //}

                //Printing.PrintPDF(cert.File.FileData);

                CertsReport.SaveGeneratedFile(string.Format("{0}\\{1} {4} {3} {2}.pdf", ExportPath, CD.EventName, CD.Competitor.getName(), CD.CertifiacteType, CD.Competitor.printVestNumber()));

                pdfCertificates.Add(string.Format("{0}\\{1} {4} {3} {2}.pdf", ExportPath, CD.EventName, CD.Competitor.getName(), CD.CertifiacteType, CD.Competitor.printVestNumber()));
            }

            return(pdfCertificates);
        }
コード例 #3
0
        // Modified 2015-05-22 removed TemplatePath from parameter list as Template can now change with each competitor
        public static List <string> SaveAllEventCertificates(List <CertificateData> CDs, string ExportPath)
        {
            List <string> pdfCertificates = new List <string>();


            //        // Generate Event Certificates
            //foreach (AEvent Event in MainWindow.CurrentChampionship.listAllEvents())
            foreach (AEvent Event in ((App)App.Current).CurrentChampionship.Championship.listAllEvents())
            {
                //PDFReport CertsReport = (PDFReport)MainWindow.ReportLibrary["Certificate"]; //(PDFReport)AReport.LoadTemplate(Event.CertificateTemplate);
                PDFReport CertsReport = (PDFReport)ChampionshipSolutions.Reports.CSReportLibrary.getLibrary()["Certificate"];

                List <CertificateData> GroupedCertificates = CDs.Where(cd => cd.EventName == Event.Name).OrderBy(cd => cd.CertifiacteType).ThenBy(cd => cd.RankCounter).ToList();

                byte[] b = CertsReport.Generate(GroupedCertificates.ToDataSet().Tables[0]);

                CertsReport.SaveGeneratedFile(string.Format("{0}{1} {2}.pdf", ExportPath, Event.Name, "All"));
                pdfCertificates.Add(string.Format("{0}{1} {2}.pdf", ExportPath, Event.Name, "All"));
            }

            return(pdfCertificates);
        }