Exemple #1
0
        private void ExportAthleteProfiles_Click(object sender, RoutedEventArgs e)
        {
            List <Athlete> athletes = new List <Athlete>();


            foreach (EventVM Event in ((App)Application.Current).CurrentChampionship.Events)
            {
                foreach (ACompetitor competitor in Event.Event.EnteredCompetitors.Where(c => c.SelectedForNextEvent))
                {
                    if (competitor is Competitor)
                    {
                        if (!athletes.Contains(((Competitor)competitor).Athlete))
                        {
                            athletes.Add(((Competitor)competitor).Athlete);
                        }
                    }
                }
            }


            try
            {
                athletes = athletes.OrderBy(c => c.DateOfBirth).OrderBy(c => c.Gender).ToList( );
                Exports.GenerateAthleteProfile(athletes, false);
            }
            catch (Exception ex)
            {
                MessageBox.Show("Failed to open athletes profile sheets. \n" + ex.Message);
            }
        }
        private void PrintAthleteNotesT(object obj)    //Tuple < int, string > tuple ) // AthleteID, string Printer = "A5-1" )
        {
            // FC 2017-01-11 To Do
            Tuple <int, string> tuple = (Tuple <int, string>)obj;

            int    AthleteID = tuple.Item1;
            string Printer   = tuple.Item2;

            if (AthleteID == 0)
            {
                return;
            }

            // existing athlete

            Athlete Athlete = getAthlete((int)AthleteID);

            if (Athlete == null)
            {
                return;
            }

            List <Athlete> athletes = new List <Athlete>()
            {
                Athlete
            };

            PrintOptions po;

            switch (Printer)
            {
            case "A5-1":
                po = PrintOptions.A5_1;
                break;

            case "A5-2":
                po = PrintOptions.A5_2;
                break;

            case "PDF":
                po = PrintOptions.PDF;
                break;

            default:
                po = PrintOptions.NO_PRINT;
                break;
            }

            try
            {
                Exports.GenerateAthleteProfile(athletes, false, po, false, true);
            }
            catch // ( Exception ex )
            {
                //MessageBox.Show ( "Failed to open athletes profile sheets. \n" + ex.Message );
                return;
            }
        }
Exemple #3
0
        private void openProfile(object obj)
        {
            if (obj is AthleteVM)
            {
                List <Athlete> athletes = new List <Athlete>();

                athletes.Add(((AthleteVM)obj).Athlete);

                string previewFile;

                try
                {
                    previewFile = Exports.GenerateAthleteProfile(athletes, false, PrintOptions.NO_PRINT, true, true);
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Failed to open athletes profile sheets. \n" + ex.Message);
                    return;
                }

                PDFViewer.OpenOnSTAThread(previewFile);
            }
        }
Exemple #4
0
        private MemoryStream FileNeededEvent(object sender, DynamicFileRequestedEventArgs e)
        {
            if (e.FilePath.StartsWith(@"/exports/"))
            {
                string exportPath = ((App)Application.Current).CurrentChampionship.getChampionshipHomeDir(); // @"F:\Championship Solutions\Events\WSAA XC 2015-16\Testing Results\PDFs";

                if (File.Exists(exportPath + e.FullPath))
                {
                    return(FileToMemoryStream(exportPath + e.FullPath));
                }
                else
                {
                    return(null);
                }
            }
            else if (e.FilePath.StartsWith(@"/files/"))
            {
                //CSDB context = FileIO.FConnFile.getContext();

                int fileID = 0;

                if (int.TryParse(e.FileName.Trim(".jpg".ToCharArray()), out fileID))
                {
                    FileStorage file = FileIO.FConnFile.GetFileDetails().IO.GetAll <FileStorage>().Where(f => f.ID == fileID).FirstOrDefault();

                    if (file == null)
                    {
                        return(null);
                    }

                    return(new MemoryStream(file.FileData));
                }
            }
            else if (e.FilePath.StartsWith(@"/reports/"))
            {
                if (e.FileName.StartsWith("report_"))
                {
                    string reportName = e.FileName.Remove(0, 7);
                    reportName = reportName.Replace(".pdf", "");

                    switch (reportName.ToLower())
                    {
                    case "eventcard":
                        if (e.Arguments.AllKeys.Contains("eventid"))
                        {
                            IScriptEvent Event = Championship.Championship.getEvent(int.Parse(e.Arguments["eventid"]));

                            if (Event == null)
                            {
                                return(null);
                            }

                            List <AEvent> evs = new List <AEvent>();
                            evs.Add((AEvent)Event);

                            string fileNames = Exports.GenerateResultEntryForms(evs, false, false, true);

                            if (fileNames != null)
                            {
                                return(FileToMemoryStream(fileNames));
                            }
                        }
                        break;

                    case "announcers":
                        if (e.Arguments.AllKeys.Contains("eventid"))
                        {
                        }
                        break;

                    case "athleteprofile":
                        if (e.Arguments.AllKeys.Contains("athleteid"))
                        {
                            Athlete athlete = Championship.Championship.getAthlete((int.Parse(e.Arguments["athleteid"])));

                            if (athlete == null)
                            {
                                return(null);
                            }

                            List <Athlete> evs = new List <Athlete>();
                            evs.Add((Athlete)athlete);

                            string fileNames = Exports.GenerateAthleteProfile(evs, false, PrintOptions.NO_PRINT, true);

                            if (fileNames != null)
                            {
                                return(FileToMemoryStream(fileNames));
                            }
                        }
                        break;
                    }
                }
            }
            #region Legacy Report Generation from WSAA XC 2016
            //else
            //{

            //if (e.FileName.StartsWith("report_"))
            //{
            //    string reportName = e.FileName.Remove(0, 7);
            //    reportName = reportName.TrimEnd((".pdf").ToCharArray());

            //    AReport rep;

            //    switch (reportName)
            //    {
            //        case "vest":

            //            rep = ReportLibrary["XCVestNumber"];

            //            if (e.Arguments.ContainsKey("vest"))
            //            {
            //                string tempFile = new Print().generateSingleVestNumberPDF(
            //                MainWindow.CurrentChampionship.getCompetitor(e.Arguments["vest"]).FirstOrDefault()
            //                , "");

            //                if (tempFile == null) return null;

            //                using (FileStream file = new FileStream(tempFile, FileMode.Open, System.IO.FileAccess.Read))
            //                {
            //                    MemoryStream ms = new MemoryStream();

            //                    file.CopyTo(ms);

            //                    return new MemoryStream(ms.ToArray());
            //                }

            //                //File.Delete(tempFile);
            //            }
            //            break;
            //        case "results":
            //            if (e.Arguments.ContainsKey("eventid"))
            //            {
            //                IScriptEvent Event = MainWindow.CurrentChampionship.getEvent(int.Parse(e.Arguments["eventid"]));

            //                if (Event == null) return null;

            //                List<AEvent> evs = new List<AEvent>();
            //                evs.Add((AEvent)Event);

            //                string[] fileNames = new Print().printResults(evs, false);

            //                if (fileNames.Length == 1)
            //                    return FileToMemoryStream(fileNames[0]);
            //            }
            //            break;

            //        case "teamresults":
            //            if (e.Arguments.ContainsKey("eventid"))
            //            {
            //                IScriptEvent Event = MainWindow.CurrentChampionship.getEvent(int.Parse(e.Arguments["eventid"]));

            //                if (Event == null) return null;

            //                List<AEvent> evs = new List<AEvent>();
            //                evs.Add((AEvent)Event);

            //                string[] fileNames = new Print().printTeamResults(evs, false);

            //                if (fileNames.Length == 1)
            //                    return FileToMemoryStream(fileNames[0]);
            //            }

            //            break;
            //        default:
            //            return null;
            //    } // end switch


            //} // end if report
            //}
            #endregion
            return(null);
        }