Exemple #1
0
 public CompetitionComboEntry(QualificationRound comp)
 {
     this.comp = comp;
 }
Exemple #2
0
 private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
 {
     competition = null;
     if (comboBoxCompetition.SelectedItem != null)
     {
         CompetitionComboEntry cce = comboBoxCompetition.SelectedItem as CompetitionComboEntry;
         if (cce != null)
         {
             competition = cce.comp;
             listViewFlights.Items.Clear();
             long min = long.MaxValue;
             long max = long.MinValue;
             List<Flight> CompetitionTeamList = competition.Flight.ToList();
             CompetitionTeamList.Sort((p, q) => p.StartID.CompareTo(q.StartID));
             List<Point> points = new List<Point>();
             foreach (Flight ct in competition.Flight)
             {
                 ComboBoxFlights lvi2 = new ComboBoxFlights(ct, new string[] { ct.StartID.ToString(), "0", getTeamDsc(ct), new DateTime(ct.TimeTakeOff).ToShortTimeString(), new DateTime(ct.TimeStartLine).ToShortTimeString(), new DateTime(ct.TimeEndLine).ToShortTimeString(), getRouteText(ct.Route) });
                 lvi2.Tag = ct;
                 listViewFlights.Items.Add(lvi2);
                 points.AddRange(ct.Point);
                 min = Math.Min(ct.TimeTakeOff, min);
                 max = Math.Max(ct.TimeEndLine, max);
             }
             listViewFlights.Enabled = true;
             parcour = cce.comp.Parcour;
             Map map = parcour.Map;
             MemoryStream ms = new MemoryStream(map.Picture.Data);
             visualisationPictureBox1.Image = System.Drawing.Image.FromStream(ms);
             visualisationPictureBox1.SetConverter(new Converter(map));
             visualisationPictureBox1.SetParcour(parcour);
             visualisationPictureBox1.Invalidate();
             visualisationPictureBox1.Refresh();
             updatePoints();
         }
         else
         {
             listViewFlights.Enabled = false;
             listViewFlights.Items.Clear();
             listViewPenalty.Items.Clear();
         }
     }
     else
     {
         listViewFlights.Enabled = false;
         listViewFlights.Items.Clear();
         listViewPenalty.Items.Clear();
     }
 }
 private void updateList(QualificationRound c)
 {
     listViewCompetitionTeam.Items.Clear();
     List<Flight> teams = new List<Flight>(c.Flight);
     teams.Sort((p, q) => p.StartID.CompareTo(q.StartID));
     foreach (Flight ct in teams)
     {
         ListViewItem lvi2 = new ListViewItem(new string[] { ct.StartID.ToString(), ct.Team.CNumber, ct.Team.AC, getTeamDsc(ct.Team), new DateTime(ct.TimeTakeOff).ToShortTimeString(), new DateTime(ct.TimeStartLine).ToShortTimeString(), new DateTime(ct.TimeEndLine).ToShortTimeString(), getRouteText(ct.Route) });
         lvi2.Tag = ct;
         listViewCompetitionTeam.Items.Add(lvi2);
     }
     listViewCompetitionTeam.Sort();
 }
Exemple #4
0
        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (comboBox1.SelectedItem != null)
            {
                CompetitionComboEntry cce = comboBox1.SelectedItem as CompetitionComboEntry;
                if (cce != null)
                {
                    comp = cce.comp;

                    parcour = comp.Parcour;
                    Map map = parcour.Map;
                    MemoryStream ms = new MemoryStream(map.Picture.Data);
                    visualisationPictureBox1.Image = System.Drawing.Image.FromStream(ms);
                    visualisationPictureBox1.SetConverter(new Converter(map));
                    visualisationPictureBox1.SetParcour(parcour);
                    visualisationPictureBox1.Invalidate();
                    visualisationPictureBox1.Refresh();
                    controll.SetParcour(parcour);
                    listViewCompetitionTeam.Items.Clear();
                    List<Flight> CompetitionTeamList = comp.Flight.ToList();
                    CompetitionTeamList.Sort((p, q) => p.StartID.CompareTo(q.StartID));
                    foreach (Flight ct in CompetitionTeamList)
                    {
                        ListViewItem lvi2 = new ListViewItem(new string[] { ct.StartID.ToString(),getTeamDsc(ct.Team), new DateTime(ct.TimeTakeOff).ToShortTimeString(), new DateTime(ct.TimeStartLine).ToShortTimeString(), new DateTime(ct.TimeEndLine).ToShortTimeString(), getRouteText(ct.Route) });
                        lvi2.Tag = ct;
                        listViewCompetitionTeam.Items.Add(lvi2);
                    }
                }
            }
        }
 private void btnNew_Click(object sender, EventArgs e)
 {
     LoadParcours();
     Reset();
     textName.Text = "new";
     QualificationRound qualificationRound = new QualificationRound();
     qualificationRound.Competition = Client.SelectedCompetition;
     textName.Tag = qualificationRound;
     UpdateEnablement();
 }
Exemple #6
0
        internal static void CreateStartListPDF(QualificationRound competition, Client.DataAccess Client, string pathToPDF)
        {
            Document doc = new Document();
            doc.Info.Author = "*****@*****.**";
            doc.Info.Comment = "Generated from ANRL Client on " + DateTime.Now.ToString();
            doc.Info.Keywords = "ANRL StartList";
            doc.Info.Subject = "StartList";
            doc.Info.Title = "StartList";
            doc.UseCmykColor = true;
            doc.DefaultPageSetup.PageFormat = PageFormat.A4;
            doc.DefaultPageSetup.Orientation = Orientation.Landscape;

            Section sec = doc.AddSection();

            AddCompetitionAndLogo(Client, sec);

            sec.AddParagraph("Qualification Round: " + competition.Name);
            sec.AddParagraph("Startlist");
            sec.AddParagraph("");

            Table table = sec.AddTable();
            table.Borders.Visible = true;

            table.AddColumn(Unit.FromCentimeter(1.2));
            table.AddColumn(Unit.FromCentimeter(2));
            table.AddColumn(Unit.FromCentimeter(2));
            table.AddColumn(Unit.FromCentimeter(3));
            table.AddColumn(Unit.FromCentimeter(3));
            table.AddColumn(Unit.FromCentimeter(3));
            table.AddColumn(Unit.FromCentimeter(3));
            table.AddColumn(Unit.FromCentimeter(2));
            table.AddColumn(Unit.FromCentimeter(2));
            table.AddColumn(Unit.FromCentimeter(2));
            table.AddColumn(Unit.FromCentimeter(1.5));

            Row row = table.AddRow();
            row.Shading.Color = Colors.Gray;
            row.Cells[0].AddParagraph("Start ID");
            row.Cells[1].AddParagraph("Crew Number");
            row.Cells[2].AddParagraph("AC");
            row.Cells[3].AddParagraph("Pilot Lastname");
            row.Cells[4].AddParagraph("Pilot Firstname");
            row.Cells[5].AddParagraph("Navigator Lastname");
            row.Cells[6].AddParagraph("Navigator Firstname");
            row.Cells[7].AddParagraph("Take Off (UTC)");
            row.Cells[8].AddParagraph("Start Gate (UTC)");
            row.Cells[9].AddParagraph("End Gate (UTC)");
            row.Cells[10].AddParagraph("Route");

            foreach (Flight ct in competition.Flight)
            {
                Row r = table.AddRow();
                r.Cells[0].AddParagraph(ct.StartID.ToString());
                Team teams = ct.Team;
                r.Cells[1].AddParagraph(teams.CNumber);
                r.Cells[2].AddParagraph(teams.AC);
                Subscriber pilot = teams.Pilot;
                r.Cells[3].AddParagraph(pilot.LastName);
                r.Cells[4].AddParagraph(pilot.FirstName);
                if (teams.Navigator != null)
                {
                    Subscriber navigator = teams.Navigator;
                    r.Cells[5].AddParagraph(navigator.LastName);
                    r.Cells[6].AddParagraph(navigator.FirstName);
                }
                r.Cells[7].AddParagraph(new DateTime(ct.TimeTakeOff).ToString("HH:mm"));
                r.Cells[8].AddParagraph(new DateTime(ct.TimeStartLine).ToString("HH:mm"));
                r.Cells[9].AddParagraph(new DateTime(ct.TimeEndLine).ToString("HH:mm"));
                r.Cells[10].AddParagraph(Enum.GetName(NetworkObjects.Route.A.GetType(), ct.Route));
            }

            PdfDocumentRenderer renderer = new PdfDocumentRenderer(true, PdfSharp.Pdf.PdfFontEmbedding.Always);
            renderer.Document = doc;
            renderer.RenderDocument();
            renderer.PdfDocument.Save(pathToPDF);
            Process.Start(pathToPDF);
        }
Exemple #7
0
        public static void CreateToplistResultPDF(Client.DataAccess c, QualificationRound competition, List<ComboBoxFlights> competitionTeam, String pathToPDF)
        {
            List<Toplist> toplist = new List<Toplist>();
            foreach (ComboBoxFlights cbct in competitionTeam)
            {
                int sum = 0;
                foreach (Penalty penalty in cbct.flight.Penalty)
                {
                    sum += penalty.Points;
                }
                toplist.Add(new Toplist(cbct.flight, sum));
            }
            toplist.Sort();

            Document doc = new Document();
            doc.Info.Author = "*****@*****.**";
            doc.Info.Comment = "Generated from ANRL Client on " + DateTime.Now.ToString();
            doc.Info.Keywords = "ANRL Toplist";
            doc.Info.Subject = "Toplist";
            doc.Info.Title = "Toplist";
            doc.UseCmykColor = true;
            doc.DefaultPageSetup.PageFormat = PageFormat.A4;
            doc.DefaultPageSetup.Orientation = Orientation.Landscape;
            doc.DefaultPageSetup.BottomMargin = Unit.FromCentimeter(1);
            doc.DefaultPageSetup.TopMargin = Unit.FromCentimeter(1);
            doc.DefaultPageSetup.LeftMargin = Unit.FromCentimeter(1.5);
            doc.DefaultPageSetup.RightMargin = Unit.FromCentimeter(1);

            Section sec = doc.AddSection();

            AddCompetitionAndLogo(c, sec);
            sec.AddParagraph("");
            sec.AddParagraph("Toplist");
            sec.AddParagraph("");

            Table table = sec.AddTable();
            table.Borders.Visible = true;

            table.AddColumn(Unit.FromCentimeter(2));
            table.AddColumn(Unit.FromCentimeter(2));
            table.AddColumn(Unit.FromCentimeter(2.5));
            table.AddColumn(Unit.FromCentimeter(4));
            table.AddColumn(Unit.FromCentimeter(4));
            table.AddColumn(Unit.FromCentimeter(4));
            table.AddColumn(Unit.FromCentimeter(4));

            Row row = table.AddRow();
            row.Shading.Color = Colors.Gray;
            row.Cells[0].AddParagraph("Rank");
            row.Cells[1].AddParagraph("Points");
            row.Cells[2].AddParagraph("Nationality");
            row.Cells[3].AddParagraph("Pilot Lastname");
            row.Cells[4].AddParagraph("Pilot Firstname");
            row.Cells[5].AddParagraph("Navigator Lastname");
            row.Cells[6].AddParagraph("Navigator Firstname");

            int rank = 1;
            foreach (Toplist top in toplist)
            {
                Team t = top.ct.Team;
                Row r = table.AddRow();
                r.Cells[0].AddParagraph(rank++ + "");
                r.Cells[1].AddParagraph(top.sum.ToString());
                r.Cells[2].AddParagraph(t.Nationality);
                Subscriber pilot = t.Pilot;
                r.Cells[3].AddParagraph(pilot.LastName);
                r.Cells[4].AddParagraph(pilot.FirstName);
                if (t.Navigator != null)
                {
                    Subscriber navigator = t.Navigator;
                    r.Cells[5].AddParagraph(navigator.LastName);
                    r.Cells[6].AddParagraph(navigator.FirstName);
                }
            }

            PdfDocumentRenderer renderer = new PdfDocumentRenderer(true, PdfSharp.Pdf.PdfFontEmbedding.Always);
            renderer.Document = doc;
            renderer.RenderDocument();
            renderer.PdfDocument.Save(pathToPDF);

            Process.Start(pathToPDF);
        }
Exemple #8
0
        public static void CreateResultPDF(VisualisationPictureBox picBox, Client.DataAccess c, QualificationRound competition, List<ComboBoxFlights> competitionTeam, String pathToPDF)
        {
            int counter = 0;
            List<Flight> tempList = new List<Flight>();
            foreach (ComboBoxFlights cbct in competitionTeam)
            {
                GC.Collect();
                PdfDocument doc = new PdfDocument();
                doc.Info.Author = "*****@*****.**";
                doc.Info.Keywords = "ANRL Results Printout";
                doc.Info.Subject = "Results Printout generated from ANRL Client on " + DateTime.Now.ToString();
                doc.Info.Title = "Results Printout";
                doc.Options.ColorMode = PdfColorMode.Cmyk;
                doc.Language = "EN";
                doc.PageLayout = PdfPageLayout.SinglePage;

                tempList.Clear();
                tempList.Add(cbct.flight);
                picBox.SetData(tempList);

                PdfPage page = doc.AddPage();
                page.Orientation = PdfSharp.PageOrientation.Landscape;
                page.Size = PdfSharp.PageSize.A4;

                XGraphics gfx = XGraphics.FromPdfPage(page);
                AddLogo(gfx, page);

                XImage image = XImage.FromGdiPlusImage(picBox.PrintOutImage);

                double distX = picBox.GetXDistanceKM() / 2;//1:200 000 in cm
                double distY = picBox.GetYDistanceKM() / 2;//1:200 000 in cm

                gfx.DrawImage(image, XUnit.FromCentimeter(2).Point, XUnit.FromCentimeter(3).Point, page.Width.Point * (distX / page.Width.Centimeter), page.Height.Point * (distY / page.Height.Centimeter));

                gfx.DrawString("Competition: " + c.SelectedCompetition.Name,
                    new XFont("Verdana", 13, XFontStyle.Bold), XBrushes.Black,
                    new XPoint(XUnit.FromCentimeter(2), XUnit.FromCentimeter(1.5)));

                gfx.DrawString("Q-Round: " + competition.Name,
                    new XFont("Verdana", 11, XFontStyle.Bold), XBrushes.Black,
                    new XPoint(XUnit.FromCentimeter(2), XUnit.FromCentimeter(2.1)));

                gfx.DrawString("Crew: " + getTeamDsc(c, cbct.flight),
                    new XFont("Verdana", 11, XFontStyle.Bold), XBrushes.Black,
                    new XPoint(XUnit.FromCentimeter(2), XUnit.FromCentimeter(2.7)));

                int sum = 0;
                int line = 0;
                int offsetLine = 20;
                //gfx.DrawString("ID", new XFont("Verdana", 11, XFontStyle.Bold), XBrushes.Black, new XPoint(XUnit.FromCentimeter(18), XUnit.FromCentimeter(3)));
                gfx.DrawString("Points ", new XFont("Verdana", 11, XFontStyle.Bold), XBrushes.Black, new XPoint(XUnit.FromCentimeter(offsetLine), XUnit.FromCentimeter(3)));
                gfx.DrawString("Reason ", new XFont("Verdana", 11, XFontStyle.Bold), XBrushes.Black, new XPoint(XUnit.FromCentimeter(offsetLine + 2), XUnit.FromCentimeter(3)));

                foreach (Penalty penalty in cbct.flight.Penalty)
                {
                    sum += penalty.Points;
                    line++;
                    //gfx.DrawString(penalty.ID.ToString(), new XFont("Verdana", 9, XFontStyle.Regular), XBrushes.Black, new XPoint(XUnit.FromCentimeter(18), XUnit.FromCentimeter(3 + line * 0.4)));
                    gfx.DrawString(penalty.Points.ToString(), new XFont("Verdana", 9, XFontStyle.Regular), XBrushes.Black, new XPoint(XUnit.FromCentimeter(offsetLine), XUnit.FromCentimeter(3 + line * 0.4)));

                    List<String> reason = getWrapped(penalty.Reason);
                    bool loop = false;
                    foreach (String s in reason)
                    {
                        gfx.DrawString(s, new XFont("Verdana", 9, XFontStyle.Regular), XBrushes.Black, new XPoint(XUnit.FromCentimeter(offsetLine + 2), XUnit.FromCentimeter(3 + line * 0.4)));
                        line++;
                        loop = true;
                    }
                    if (loop)
                    {
                        line--;
                    }
                }
                line++;
                //gfx.DrawString("-", new XFont("Verdana", 9, XFontStyle.Regular), XBrushes.Black, new XPoint(XUnit.FromCentimeter(18), XUnit.FromCentimeter(3 + line * 0.4)));
                gfx.DrawString(sum.ToString(), new XFont("Verdana", 10, XFontStyle.Bold), XBrushes.Black, new XPoint(XUnit.FromCentimeter(offsetLine), XUnit.FromCentimeter(3 + line * 0.4)));
                gfx.DrawString("Total Points", new XFont("Verdana", 10, XFontStyle.Bold), XBrushes.Black, new XPoint(XUnit.FromCentimeter(offsetLine + 2), XUnit.FromCentimeter(3 + line * 0.4)));

                String path = pathToPDF.Replace(".pdf", (counter++ + "_" + getTeamDsc(c, cbct.flight) + ".pdf"));
                doc.Save(path);
                doc.Close();
                Process.Start(path);
            }
        }
Exemple #9
0
 public QualiComboBoxItem(QualificationRound q)
 {
     this.q = q;
 }