예제 #1
0
        protected void ShowRace(int raceId)
        {
            var ctx  = new SailTallyDataContext();
            var race = (from r in ctx.SS_Races
                        where r.RaceID == raceId
                        select r).Single(); // should only be one record

            // Populate Header fields
            hiddenRaceID.Value          = raceId.ToString(CultureInfo.InvariantCulture); // save for future use
            labelWarning.Text           = CentralLibrary.FormatDisplayTime(race.FirstWarningDate);
            labelSeries.Text            = GetFleetSeries(raceId, null);
            textPRO.Text                = race.PRO;
            textAssistPRO.Text          = race.AssistPRO;
            textHelpers.Text            = race.Helper;
            textDocked.Text             = race.DockedDate?.ToShortTimeString() ?? CentralLibrary.GetCurrentDateTime().ToShortTimeString();
            textWindDirection.Text      = race.WindDirection;
            textWindSpeed.Text          = race.WindSpeed;
            textCourseChange.Text       = race.CourseChange;
            listWindUnits.SelectedValue = (string.IsNullOrEmpty(race.WindUnits) ? "kts" : race.WindUnits);
            textProtests.Text           = race.Protests;
            textComments.Text           = race.Comments;

            var fleets = GetFleetsForRace(raceId);

            listFleet.DataSource     = fleets;
            listFleet.DataValueField = "fleetid";
            listFleet.DataTextField  = "fleetname";
            listFleet.DataBind();
            buttonScoreFleet.Enabled = (fleets.Any());

            buttonRemoveScored.Visible = (!fleets.Any() && CentralLibrary.IsRacesScored(raceId)); // special case to have this function available
            ButtonAbandonRaces.Enabled = true;
        }
예제 #2
0
        protected void Page_Load(object sender, EventArgs e)
        {
            var row = new TableRow();

            AddColumn(row, "Action", CellType.Header);
            AddColumn(row, "Race ID", CellType.Header);
            AddColumn(row, "First Warning", CellType.Header);
            AddColumn(row, "Scored Races", CellType.Header);
            tableOrphans.Rows.Add(row);

            var ctx = new SailTallyDataContext();

            // Sub Query
            var raceSeries = (from rs in ctx.SS_RaceSeries
                              orderby rs.RaceID
                              select rs.RaceID).Distinct();
            // Main Query
            var races = from r in ctx.SS_Races
                        where !raceSeries.Contains(r.RaceID)
                        select r;

            foreach (var race in races)
            {
                row = new TableRow();
                AddColumn(row, "Delete", CellType.Delete, race.RaceID);
                AddColumn(row, race.RaceID.ToString(), CellType.Normal);
                AddColumn(row, CentralLibrary.FormatDisplayTime(race.FirstWarningDate), CellType.Normal);
                AddColumn(row, (CentralLibrary.IsRacesScored(race.RaceID) ? "Yes" : "No"), CellType.Normal);
                tableOrphans.Rows.Add(row);
            }
        }
예제 #3
0
        protected void ShowRaces()
        {
            if (tableRaces.Visible)
            {
                var ctx = new SailTallyDataContext();
                IQueryable <SS_Race> races;

                if (radioScheduledAll.Checked)
                {
                    races = from r in ctx.SS_Races
                            where r.SeasonID == Convert.ToInt32(listSeason.SelectedValue)
                            orderby r.FirstWarningDate
                            select r;
                }
                else if (radioScheduledScored.Checked)
                {
                    races = from r in ctx.SS_Races
                            where r.SeasonID == Convert.ToInt32(listSeason.SelectedValue) && r.DockedDate != null
                            orderby r.FirstWarningDate descending
                            select r;
                }
                else // Unscored
                {
                    races = from r in ctx.SS_Races
                            where r.SeasonID == Convert.ToInt32(listSeason.SelectedValue) && r.DockedDate == null
                            orderby r.FirstWarningDate
                            select r;
                }

                tableRaces.Rows.Clear();
                var row = new TableRow();

                var col = AddColumn("First Warning", -1, true);
                col.Width = 130;
                row.Cells.Add(col);
                //row.Cells.Add(this.AddColumn("Actual Warning", -1, true));
                row.Cells.Add(AddColumn("PRO", -1, true));
                row.Cells.Add(AddColumn("Series", -1, true));

                tableRaces.Rows.Add(row);

                foreach (var race in races)
                {
                    row = new TableRow();

                    row.Cells.Add(AddColumn(CentralLibrary.FormatDisplayTime(race.FirstWarningDate), race.RaceID, false));
                    //row.Cells.Add(this.AddColumn(race.ActualDate.ToString(), -1, false));
                    row.Cells.Add(AddColumn(race.PRO, -1, false));

                    var fleetSeries = GetFleetSeries(race.RaceID, null);

                    row.Cells.Add(AddColumn(fleetSeries, -1, false));
                    tableRaces.Rows.Add(row);
                }
            }
        }