public CompetitionComboEntry(QualificationRound comp) { this.comp = comp; }
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(); }
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(); }
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); }
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); }
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); } }
public QualiComboBoxItem(QualificationRound q) { this.q = q; }