예제 #1
0
        private void GetBoatResults()
        {
            var report = "";

            var ctx = new SailTallyDataContext();

            var boatResults = from rs in ctx.SS_ResultSummaries
                              join b in ctx.SS_Boats on rs.BoatID equals b.BoatID
                              join f in ctx.SS_Fleets on b.FleetID equals f.FleetID
                              where rs.SeasonID == Convert.ToInt32(listSeason.SelectedValue)
                              orderby f.FleetName, b.BoatID, rs.Position, rs.SeriesName
                select new { rs.FleetName, rs.BoatName, rs.Skipper, rs.SeriesName, rs.Position, rs.BoatID, rs.SailNumber };

            var boatId = -1;

            report += "<table>";
            foreach (var boatResult in boatResults)
            {
                if (boatId != boatResult.BoatID) // Have we moved to another boat?  If so, new "header"
                {
                    boatId  = boatResult.BoatID;
                    report += "<tr><td colspan='2'><h3>" + boatResult.FleetName + " #" + boatResult.SailNumber + (boatResult.BoatName != null && boatResult.BoatName.Length > 0 ? " " : "") + boatResult.BoatName + ", " + boatResult.Skipper + "</h3></td></tr>";
                }

                report += "<tr><td>" + boatResult.SeriesName + "</td><td>" + CentralLibrary.PositionSuffix(boatResult.Position) + "</td></tr>";
            }
            report += "</table>";

            labelBoatResults.Text = report;
        }