Exemplo n.º 1
0
        protected void buttonAdd_Click(object sender, EventArgs e)
        {
            // Make sure to add to find the correct position (so raceNumber can be 0 when added) and then RecalcRaceNumbers

            var when = Convert.ToDateTime(calendarRace.SelectedDate.ToShortDateString() + " " + listRace.SelectedValue);

            int repeatWeeks;

            try
            {
                repeatWeeks = Convert.ToInt32(textRepeatWeeks.Text);
            }
            catch
            {
                repeatWeeks = 1;
            }

            while (repeatWeeks > 0)
            {
                AddRaceDate(when, 0); // raceNumber = 0 for now since finding slot and will recalc later
                if (checkBackToBack.Checked)
                {
                    AddRaceDate(Convert.ToDateTime(when.ToShortDateString() + " " + CentralLibrary.GetNextTime(listRace.SelectedValue)), 0); // raceNumber = 0 for now since finding slot and will recalc later
                }

                when = when.AddDays(7); // next week
                repeatWeeks--;
            }

            RecalcRaceNumbers();
        }
Exemplo n.º 2
0
        protected void buttonRemoveFleetSeries_Click(object sender, EventArgs e)
        {
            SetError();
            if (listSelectedFleetSeries.SelectedItem != null)
            {
                var position = listSelectedFleetSeries.SelectedIndex;
                try
                {
                    // Save the removed information in the add area in case the user wishes to add back in with minor changes
                    listFleet.SelectedValue = _fleetSeriesRace[position].FleetId.ToString();
                    CentralLibrary.GetFleetSeries(listFleetSeries, SelectedFleet, SelectedSeason);
                    listFleetSeries.SelectedValue = _fleetSeriesRace[position].FleetSeriesId.ToString();
                    textRaceNo.Text         = _fleetSeriesRace[position].RaceNo.ToString();
                    textPointsFactor.Text   = _fleetSeriesRace[position].PointsFactor.ToString();
                    checkExcludable.Checked = _fleetSeriesRace[position].Excludable;
                }
                catch (Exception ex)
                {
                    SetError("Exception: " + ex);
                }

                _fleetSeriesRace.RemoveAt(listSelectedFleetSeries.SelectedIndex);
                listSelectedFleetSeries.Items.RemoveAt(listSelectedFleetSeries.SelectedIndex);
            }
            else
            {
                SetError("Select an existing Fleet/Series for removal first.");
            }
        }
Exemplo n.º 3
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (IsPostBack)
            {
                _fleetSeriesDateRace = (List <FleetSeriesDateRace>)ViewState["_FleetSeriesDateRace"]; // Load state
            }
            else
            {
                _fleetSeriesDateRace = new List <FleetSeriesDateRace>(); // allocate memory

                // Set the values via the IsCrossPagePostBack because the PreviousPage values won't be available after a PostBack here.
                hiddenSeasonID.Value = PreviousPage.SelectedSeason;
                labelSeason.Text     = CentralLibrary.GetSeason(SelectedSeason);

                if (PreviousPage.SelectedDate.Trim().Length > 0)
                {
                    UpdateDate(PreviousPage.SelectedDate);
                }
                else
                {
                    UpdateDate(CentralLibrary.GetCurrentDateTime());
                }

                CentralLibrary.GetFleets(listFleet);                                           // Get the fleets
                CentralLibrary.GetFleetSeries(listFleetSeries, SelectedFleet, SelectedSeason); // After getting the fleets, get the series for the selected fleet

                CentralLibrary.GetTimes(listRace);

                panelSchedule.Visible    = false;
                labelErrorSeries.Visible = false;
                labelErrorSave.Visible   = false;
                buttonRemove.Enabled     = false;
            }
        }
Exemplo n.º 4
0
        protected void link_Click(object sender, EventArgs e)
        {
            var link   = (LinkButton)sender;
            var raceId = Convert.ToInt32(link.CommandArgument);

            labelError.Text = "";

            try
            {
                CentralLibrary.RemoveScores(raceId);

                // Remove Races
                var ctx  = new SailTallyDataContext();
                var race = (from r in ctx.SS_Races
                            where r.RaceID == raceId
                            select r).Single();
                ctx.SS_Races.DeleteOnSubmit(race);
                ctx.SubmitChanges();
                Server.Transfer("~/OrphanRaces.aspx");
            }
            catch (Exception ex)
            {
                labelError.Text = "Unable to remove Orphan Race (Race ID: " + raceId.ToString() + ").  Reason:" + ex.Message;
            }
        }
Exemplo n.º 5
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (IsPostBack)
            {
                return;
            }
            CentralLibrary.GetSeasons(listSeason);

            var showSchedule = false;

            // ReSharper disable once MergeSequentialChecks (Done to support Visual Studio 2013)
            if (Page.PreviousPage != null && Page.PreviousPage.Master != null) // if a calling page (such as ScheduleModify), get its information to pull up the schedule
            {
                var cph      = (ContentPlaceHolder)Page.PreviousPage.Master.FindControl("MainContent");
                var seasonId = (HiddenField)cph.FindControl("hiddenSeasonID");
                if (seasonId != null)
                {
                    listSeason.SelectedValue = seasonId.Value;
                    showSchedule             = true;
                }
                var dateLastUsed = (Label)cph.FindControl("labelSchedule");
                if (dateLastUsed != null)
                {
                    hiddenLastDateUsed.Value = dateLastUsed.Text;
                }
            }

            HideFilterOptions(showSchedule);
        }
Exemplo n.º 6
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;
        }
Exemplo n.º 7
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);
            }
        }
Exemplo n.º 8
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;
        }
 protected void Page_Load(object sender, EventArgs e)
 {
     if (!IsPostBack)
     {
         CentralLibrary.GetSeasons(listSeason);
     }
 }
Exemplo n.º 10
0
        protected void buttonRemoveScored_Click(object sender, EventArgs e)
        {
            var raceId = Convert.ToInt32(hiddenRaceID.Value);

            CentralLibrary.RemoveScores(raceId);
            buttonRemoveScored.Visible = false;
        }
Exemplo n.º 11
0
 private void BuildSchedule()
 {
     if (ShowTheSchedule())
     {
         CentralLibrary.DisplaySchedule(tableSchedule, "~/ScheduleModify.aspx", Convert.ToInt32(listSeason.SelectedValue), false);
     }
 }
Exemplo n.º 12
0
        protected void buttonView_Click(object sender, EventArgs e)
        {
            ShowSummary(true);

            labelResults.Text = CentralLibrary.GetResultsHeader(listSeason.SelectedItem.Text, listFleet.SelectedValue)
                                + CentralLibrary.GetResultsKeyHeader()
                                + CentralLibrary.GetResults(SelectedSeason, listFleet.SelectedValue)
                                + CentralLibrary.GetResultsKeyFooter();
        }
Exemplo n.º 13
0
 protected void Page_Load(object sender, EventArgs e)
 {
     if (IsPostBack)
     {
         return;
     }
     CentralLibrary.GetFleets(listFleet);
     ShowSummary(false);
 }
Exemplo n.º 14
0
 protected void Page_Load(object sender, EventArgs e)
 {
     if (IsPostBack)
     {
         return;
     }
     ShowSummary(false);
     CentralLibrary.GetSeasons(listSeason, true);
 }
Exemplo n.º 15
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);
                }
            }
        }
Exemplo n.º 16
0
        partial void OnValidate(ChangeAction action)
        {
            // Validate the URL
            if (Website != null && !Website.ToLower().StartsWith("http://"))
            {
                Website = "http://" + Website;
            }

            CentralLibrary.Post(action, "Fleet", FleetID);
        }
Exemplo n.º 17
0
 protected void UpdateDate()
 {
     try
     {
         var parsedSchedule     = calendarRace.SelectedDate.ToShortDateString() + " " + listRace.Text;
         var calculatedSchedule = Convert.ToDateTime(parsedSchedule.Trim());
         labelSchedule.Text = calculatedSchedule.ToShortDateString() + " " + CentralLibrary.FormatTime(calculatedSchedule);
     }
     catch
     {
         labelSchedule.Text = "Invalid";
     }
 }
Exemplo n.º 18
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (IsPostBack)
            {
                return;
            }

            CentralLibrary.GetSeasons(listSeasonFrom);
            CentralLibrary.GetSeasons(listSeasonTo);

            labelPreflight.Visible = false;
            buttonCopy.Visible     = false;
            labelReport.Visible    = false;
        }
Exemplo n.º 19
0
        protected void linkSave_Click(object sender, EventArgs e)
        {
            var raceId  = Convert.ToInt32(hiddenRaceID.Value);
            var fleetId = Convert.ToInt32(listFleet.SelectedValue);
            var ctx     = new SailTallyDataContext();

            // Delete the existing scores
            var scoredBoats = from s in ctx.SS_Scores
                              join b in ctx.SS_Boats on s.BoatID equals b.BoatID
                              where s.RaceID == raceId && b.FleetID == fleetId
                              select s;

            var raceFleets = from rf in ctx.SS_RaceFleets
                             where rf.RaceID == raceId && rf.FleetID == fleetId
                             select rf;

            ctx.SS_Scores.DeleteAllOnSubmit(scoredBoats);
            ctx.SS_RaceFleets.DeleteAllOnSubmit(raceFleets);
            ctx.SubmitChanges();

            // Save the scores
            var raceFleet = new SS_RaceFleet
            {
                RaceID        = raceId,
                FleetID       = fleetId,
                IsAbandoned   = checkAbandoned.Checked,
                Course        = textCourse.Text,
                Distance      = CentralLibrary.ConvertToDouble(textDistance.Text, 0),
                DistanceUnits = textDistanceUnits.Text
            };

            ctx.SS_RaceFleets.InsertOnSubmit(raceFleet);
            // ReSharper disable once LoopCanBePartlyConvertedToQuery
            foreach (var boatScore in _boatScores)
            {
                var score = new SS_Score
                {
                    RaceID      = raceId,
                    BoatID      = boatScore.BoatId,
                    PenaltyID   = boatScore.PenaltyId,
                    FinishPlace = boatScore.FinishPosition
                };
                ctx.SS_Scores.InsertOnSubmit(score);
            }
            ctx.SubmitChanges();

            ShowDetail(true);
            ShowRaces();
        }
Exemplo n.º 20
0
        protected void detailsFleetSeries_ItemUpdating(object sender, DetailsViewUpdateEventArgs e)
        {
            var listSeries    = (DropDownList)((DetailsView)sender).FindControl("listSeriesEdit");
            var seriesId      = Convert.ToInt32(listSeries.SelectedValue);
            var fleetSeriesId = Convert.ToInt32(detailsFleetSeries.SelectedValue);

            if (CentralLibrary.IsFleetSeriesExist(SelectedSeason, SelectedFleet, seriesId, fleetSeriesId))
            {
                labelDetailError.Text = listFleet.SelectedItem.Text + " " + listSeries.Text + " for " + listSeason.SelectedItem.Text + " already exists.  Unable to change.";
                e.Cancel = true;
            }
            else
            {
                labelDetailError.Text = "";
            }
        }
Exemplo n.º 21
0
        protected void detailsFleetSeries_ItemInserting(object sender, DetailsViewInsertEventArgs e)
        {
            var listSeries = (DropDownList)((DetailsView)sender).FindControl("listSeriesInsert");
            var seriesId   = Convert.ToInt32(listSeries.SelectedValue);

            if (CentralLibrary.IsFleetSeriesExist(SelectedSeason, SelectedFleet, seriesId))
            {
                labelDetailError.Text = listFleet.SelectedItem.Text + " " + listSeries.SelectedItem.Text + " for " + listSeason.SelectedItem.Text + " already exists.  Unable to add.";
                e.Cancel = true;
            }
            else
            {
                labelDetailError.Text = "";
                e.Values.Add("SeasonID", listSeason.SelectedValue);
                e.Values.Add("FleetID", listFleet.SelectedValue);
            }
        }
Exemplo n.º 22
0
 partial void OnValidate(ChangeAction action)
 {
     if (action == ChangeAction.Insert && ScorePointsFactor == 0)
     {
         // This is to correct an issue encountered since moving to WinHost with the MSSQL Default Value for the column
         // not being set to the specificed default value.  Initially the thought was that MSSQL default values weren't being
         // honored.  However, it is likely that a newer version of the Entity Framework (EF) is passing default values,
         // which would supercede the MSSQL Default Constraint value.
         ScorePointsFactor = 1;
     }
     if (action == ChangeAction.Insert && !IsScoreExcludable)
     {
         // See above note for ScorePointsFactor :-)
         IsScoreExcludable = true;
     }
     CentralLibrary.Post(action, "RaceSeries", RaceID);
 }
Exemplo n.º 23
0
        protected void buttonSelect_Click(object sender, EventArgs e)
        {
            var ctx = new SailTallyDataContext();

            var fleetNames = (from rs in ctx.SS_ResultSummaries
                              where rs.SeasonID == SelectedSeason
                              orderby rs.FleetName
                              select new { rs.FleetName }).Distinct();

            var resultsData = string.Empty;

            foreach (var fleetName in fleetNames)
            {
                resultsData += CentralLibrary.GetResultsHeader(listSeason.SelectedItem.Text, fleetName.FleetName) + CentralLibrary.GetResults(SelectedSeason, fleetName.FleetName, true);
            }

            labelResults.Text = resultsData + CentralLibrary.GetResultsKeyFooter();
        }
Exemplo n.º 24
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                LabelAbandon.Text = "";
                CentralLibrary.GetSeasons(listSeason);
                CentralLibrary.GetPenalties(listPenalty);
                ShowSummary(false);
            }
            ShowRaces(); // Since dynamically generated, not part of ViewState

            if (ViewState["_fleetBoats"] != null)
            {
                _boatScores = (List <BoatScore>)ViewState["_fleetBoats"]; // Load state
            }
            else
            {
                _boatScores = new List <BoatScore>();
            }
        }
Exemplo n.º 25
0
        protected void buttonSelect_Click(object sender, EventArgs e)
        {
            if (listFleetSeries.SelectedItem != null)
            {
                listFleet.Enabled       = false;
                listFleetSeries.Enabled = false;
                buttonSelect.Enabled    = false;
                buttonCancel.Visible    = false;

                panelSchedule.Visible    = true;
                labelErrorSeries.Visible = false;

                // Store the next race number for use going forward
                hiddenNextRaceNumber.Value = CentralLibrary.GetNextRaceNumber(SelectedSeason, SelectedFleetSeries).ToString();
            }
            else
            {
                labelErrorSeries.Visible = true;
            }
        }
Exemplo n.º 26
0
 protected void detailsFleets_PageIndexChanging(object sender, DetailsViewPageEventArgs e)
 {
     CentralLibrary.SyncGridView(ref gridFleets, detailsFleets);
 }
Exemplo n.º 27
0
 protected void gridFleets_SelectedIndexChanged(object sender, EventArgs e)
 {
     CentralLibrary.SyncDataView(gridFleets, ref detailsFleets);
     ShowDetail(true);
 }
Exemplo n.º 28
0
 protected void buttonSelect_Click(object sender, EventArgs e)
 {
     labelSeason.Text = listSeason.SelectedItem.Text;
     //CentralLibrary.DisplaySchedule(this.tableSchedule, null, "", Convert.ToInt32(this.listSeason.SelectedValue), true);
     CentralLibrary.DisplaySchedule(tableSchedule, "", Convert.ToInt32(listSeason.SelectedValue), true);
 }
Exemplo n.º 29
0
 protected void gridTimes_SelectedIndexChanged(object sender, EventArgs e)
 {
     CentralLibrary.SyncDataView(gridTimes, ref detailsTimes);
     ShowSummary(false);
 }
Exemplo n.º 30
0
 protected void detailsThrowoutMethod_PageIndexChanging(object sender, DetailsViewPageEventArgs e)
 {
     CentralLibrary.SyncGridView(ref gridThrowout, detailsThrowoutMethod);
 }