public void LoadRaceTime() { var controller = new RacingController(); var raceID = ScheduleGridView.SelectedValue; var results = controller.Results_List(Convert.ToInt32(raceID)); var penalties = controller.Penalties_List(); UpdateResults.Visible = true; ResultsGridView.DataSource = results; ResultsGridView.DataBind(); foreach (GridViewRow row in ResultsGridView.Rows) { DropDownList penaltiesDropDown = (DropDownList)row.FindControl("PenaltyDropDownList"); HiddenField penaltyID = (HiddenField)row.FindControl("PenaltyID"); Label placeLabel = (Label)row.FindControl("PlaceLabel"); if (placeLabel.Text != "") { string newLabel = ConvertIntsToStrings(int.Parse(placeLabel.Text)); placeLabel.Text = newLabel; } penaltiesDropDown.DataSource = penalties; if (penaltyID.Value != "") { penaltiesDropDown.SelectedValue = penaltyID.Value; } penaltiesDropDown.DataBind(); } }
protected void CarClassesDropDown_SelectedIndexChanged(object sender, EventArgs e) { HiddenField raceId = null; foreach (GridViewRow row in GridView1.Rows) { raceId = (HiddenField)row.FindControl("RaceID"); } DropDownList CarClassDropDown = sender as DropDownList; ListItem select = new ListItem("Select a car", "0"); GridViewRow gvr = (GridViewRow)(((Control)sender).NamingContainer); DropDownList carList = (DropDownList)gvr.FindControl("CarDropDown"); var controller = new RacingController(); var cars = controller.Cars_List(int.Parse(CarClassDropDown.SelectedValue), int.Parse(raceId.Value), 0); if (carList != null) { carList.Items.Clear(); carList.DataSource = cars; carList.Items.Add(select); carList.DataBind(); } }
protected void InsertButton_Command(object sender, CommandEventArgs e) { var controller = new RacingController(); HiddenField raceId = null; foreach (GridViewRow row in GridView1.Rows) { raceId = (HiddenField)row.FindControl("RaceID"); } DropDownList memberDropDown = (DropDownList)GridView1.FooterRow.FindControl("MemberDropDown"); DropDownList feeDropDown = (DropDownList)GridView1.FooterRow.FindControl("FeeDropDown"); DropDownList classDropDown = (DropDownList)GridView1.FooterRow.FindControl("FooterClassDropDown"); HideFooter(); var classes = controller.CarClasses_List(int.Parse(raceId.Value)); var members = controller.Members_List(int.Parse(raceId.Value)); classDropDown.DataSource = classes; memberDropDown.DataSource = members; feeDropDown.SelectedIndex = 0; memberDropDown.Visible = true; classDropDown.Visible = true; feeDropDown.Visible = true; Close_Results(); classDropDown.DataBind(); memberDropDown.DataBind(); GridView1.EditIndex = -1; }
protected void Calendar1_SelectionChanged(object sender, EventArgs e) { var controller = new RacingController(); var schedule = controller.Schedules_List(Calendar1.SelectedDate); ScheduleGridView.DataSource = schedule; ScheduleGridView.DataBind(); Close_Results(); RecordRaceTimes.Visible = false; GridView1.Visible = false; }
protected void UpdateResults_Command(object sender, CommandEventArgs e) { var raceID = ScheduleGridView.SelectedValue; string error = string.Empty; List <ResultsViewModel> results = new List <ResultsViewModel>(); ResultsViewModel singleResult = null; foreach (GridViewRow row in ResultsGridView.Rows) { DropDownList penalties = (DropDownList)row.FindControl("PenaltyDropDownList"); TextBox runTimeText = (TextBox)row.FindControl("RunTimeTextBox"); Label name = (Label)row.FindControl("NameLabel"); if (runTimeText.Text.Trim().Length < 1 && int.Parse(penalties.SelectedValue) != 4) { error = error + $"Cannot enter null values for race times unless vehicle has been scratched - {name.Text}"; } TimeSpan?runTime = null; if (runTimeText.Text == "") { runTime = null; } else { runTime = TimeSpan.Parse(runTimeText.Text); } HiddenField raceDetailID = (HiddenField)row.FindControl("RaceDetailID"); singleResult = new ResultsViewModel() { Name = name.Text, RaceDetailID = int.Parse(raceDetailID.Value), RaceID = Convert.ToInt32(raceID), RunTime = runTime, PenaltyID = int.Parse(penalties.SelectedValue) }; results.Add(singleResult); } var controller = new RacingController(); if (error.Trim().Length > 0) { MessageUserControl2.ShowInfo("Error", error); } else { controller.Edit_Results(results); LoadRaceTime(); } }
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e) { if (e.CommandName == "CustomUpdate") { string error = string.Empty; var controller = new RacingController(); int index = Convert.ToInt32(e.CommandArgument); HiddenField raceId = (HiddenField)GridView1.Rows[index].FindControl("RaceID"); TextBox comment = (TextBox)GridView1.Rows[index].FindControl("RaceDetailComment"); DropDownList car = (DropDownList)GridView1.Rows[index].FindControl("CarDropDown"); HiddenField raceDetailID = (HiddenField)GridView1.Rows[index].FindControl("RaceDetailID"); CheckBox refund = (CheckBox)GridView1.Rows[index].FindControl("RefundCheckBox"); TextBox refundReason = (TextBox)GridView1.Rows[index].FindControl("RefundTextBox"); RosterViewModel roster = new RosterViewModel() { CarID = int.Parse(car.SelectedValue), RaceDetailComment = comment.Text, RefundReason = refundReason.Text, Refund = refund.Checked, RaceDetailID = int.Parse(raceDetailID.Value) }; if (refund.Checked && refundReason.Text.Trim().Length == 0) { error = error + " A reason must be provided for all refunds"; } if (error.Trim().Length == 0) { try { controller.Edit_Roster(roster); } catch (Exception ex) { MessageUserControl1.ShowInfo(ex.Message, "Failed to update details"); } MessageUserControl1.ShowInfo("Success", "RaceDetails Updated"); GridView1.EditIndex = -1; GridView1.DataBind(); } else { MessageUserControl1.ShowInfo("Error", error); } } }
protected void Calendar1_DayRender(object sender, DayRenderEventArgs e) { var controller = new RacingController(); List <DateTime> dates = controller.DateList(); foreach (DateTime date in dates) { if (e.Day.Date == date.Date) { e.Cell.BorderWidth = 2; e.Cell.Font.Size = 14; e.Cell.Font.Bold = true; e.Cell.BorderColor = System.Drawing.Color.RoyalBlue; e.Cell.BackColor = System.Drawing.Color.LightGreen; } } }
protected void FooterClassDropDown_SelectedIndexChanged(object sender, EventArgs e) { HiddenField raceId = null; foreach (GridViewRow row in GridView1.Rows) { raceId = (HiddenField)row.FindControl("RaceID"); } DropDownList CarClassDropDown = sender as DropDownList; var controller = new RacingController(); var cars = controller.Cars_List(int.Parse(CarClassDropDown.SelectedValue), int.Parse(raceId.Value), 0); DropDownList carDropDown = (DropDownList)GridView1.FooterRow.FindControl("SerialDropDown"); carDropDown.DataSource = cars; carDropDown.Visible = true; carDropDown.DataBind(); }
protected void ScheduleGridView_RowCommand(object sender, GridViewCommandEventArgs e) { if (e.CommandName == "Select") { int index = Convert.ToInt32(e.CommandArgument); var controller = new RacingController(); var schedule = controller.Schedules_List(Calendar1.SelectedDate); var roster = controller.Roster_List(schedule[index].RaceID); var raceId = roster[0].RaceID.ToString(); RosterDataSource.SelectParameters.Clear(); RosterDataSource.SelectParameters.Add(new Parameter("raceId", TypeCode.Int32, raceId)); RosterDataSource.DataBind(); Close_Results(); RecordRaceTimes.Visible = true; GridView1.EditIndex = -1; GridView1.Visible = true; } }
private void Awake() { Instance = this; }
protected void SaveButton_Command(object sender, CommandEventArgs e) { string error = string.Empty; var controller = new RacingController(); HiddenField raceId = null; foreach (GridViewRow row in GridView1.Rows) { raceId = (HiddenField)row.FindControl("RaceID"); } DropDownList memberDropDown = (DropDownList)GridView1.FooterRow.FindControl("MemberDropDown"); DropDownList feeDropDown = (DropDownList)GridView1.FooterRow.FindControl("FeeDropDown"); DropDownList carDropDown = (DropDownList)GridView1.FooterRow.FindControl("SerialDropDown"); decimal raceFee; if (feeDropDown.SelectedIndex == 1) { TextBox feeTextBox = (TextBox)GridView1.FooterRow.FindControl("FeeTextBox"); raceFee = int.Parse(feeTextBox.Text); } else if (feeDropDown.SelectedIndex == 0) { raceFee = 0; } else { raceFee = decimal.Parse(feeDropDown.SelectedItem.Text); } RosterViewModel roster = new RosterViewModel() { MemberID = int.Parse(memberDropDown.SelectedValue), CarID = int.Parse(carDropDown.SelectedValue), RaceID = int.Parse(raceId.Value), RaceFee = raceFee }; var racerCount = controller.Racer_Count(roster); InvoiceViewModel invoice = null; if (memberDropDown.SelectedIndex == 0) { error = error + " You must select a member when adding a new racer."; } if (raceFee == 0) { error = error + " You must enter a race fee in order to add a new racer."; } if (racerCount.Current > racerCount.Max) { error = error + " Race is already full. Cannot register additional racers."; } if (error.Trim().Length == 0) { try { invoice = controller.Add_Racer(roster, User.Identity.Name); } catch (Exception ex) { MessageUserControl1.ShowInfo(ex.Message, "Unable to save racer"); } var updateSchedule = controller.Schedules_List(Calendar1.SelectedDate); RosterDataSource.SelectParameters.Clear(); RosterDataSource.SelectParameters.Add(new Parameter("raceId", TypeCode.Int32, raceId.Value)); RosterDataSource.DataBind(); ScheduleGridView.DataSource = updateSchedule; ScheduleGridView.DataBind(); MessageUserControl1.ShowInfo("Success", ($"Racer Added to roster. Invoice #{invoice.InvoiceID} created by {User.Identity.Name}. Subtotal - {invoice.Subtotal:C2}, GST - {invoice.GST:C2}, Total - {invoice.Total:C2}")); } else { MessageUserControl1.ShowInfo("Failure", error); } CloseFooter(); }
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) { RosterViewModel raceData = (RosterViewModel)e.Row.DataItem; var controller = new RacingController(); if (raceData != null) { if (raceData.RaceDetailID == 0) { LinkButton editButton = (LinkButton)e.Row.FindControl("LinkButton1"); CheckBox refund = (CheckBox)e.Row.FindControl("CheckBox1"); Label raceFee = (Label)e.Row.FindControl("RaceFeeLabel"); Label rentalFee = (Label)e.Row.FindControl("RentalFeeLabel"); refund.Visible = false; raceFee.Visible = false; rentalFee.Visible = false; editButton.Visible = false; } } #region RowDataBound Edit if (!IsPostBack) { GridView1.Visible = false; } if ((e.Row.RowState & DataControlRowState.Edit) > 0) { var classes = controller.CarClasses_List(raceData.RaceID); DropDownList carClassesDropDown = (DropDownList)e.Row.FindControl("CarClassesDropDown"); carClassesDropDown.DataSource = classes; if (raceData.CarID != null) { carClassesDropDown.SelectedValue = raceData.CarClassID.ToString(); } else { string select = "Select a car class"; carClassesDropDown.Items.Insert(0, select); } try { carClassesDropDown.DataBind(); } catch (Exception ex) { string output = string.Empty; foreach (var singleClass in classes) { output = output + singleClass.CarClassName; } MessageUserControl1.ShowInfo(ex.Message, ($"Currently Registered vehicle - '{raceData.CarClassName}' does not meet the class requirements of this race - '{output}'")); } if (raceData.CarID != null) { List <CarViewModel> cars = new List <CarViewModel>(); DropDownList carDropDown = (DropDownList)e.Row.FindControl("CarDropDown"); cars = controller.Cars_List(int.Parse(carClassesDropDown.SelectedValue), raceData.RaceID, (int)raceData.CarID); carDropDown.DataSource = cars; if (raceData.CarID != null) { carDropDown.SelectedValue = raceData.CarID.ToString(); } carDropDown.DataBind(); } TextBox refundReason = (TextBox)e.Row.FindControl("RefundTextBox") as TextBox; if (refundReason.Text.Trim().Length > 0) { refundReason.Visible = true; } Close_Results(); } #endregion }