public ActionResult OnPost() { _authenticatedUser = ClubBaistUsers.GetUserFromUserName(User.Identity.Name); if (!ModelState.IsValid) { return(Page()); } _golferScorecard.Course = Course; _golferScorecard.Date = GameDate; _golferScorecard.Rounds = Rounds; _golferScorecard.Golfer = (Golfer)_authenticatedUser; var result = _requestDirector.RecordPlayerScores(_golferScorecard); if (!result) { return(Page()); } Alert = $"Golfer Score recorded Successfully"; return(RedirectToPage("Index")); }
public void OnGet() { AuthenticatedUser = ClubBaistUsers.GetUserFromUserName(User.Identity.Name); SelectedDate = DateTime.Parse(Request.Query["date"]); SelectedTime = DateTime.Parse(Request.Query["time"]); SelectedTeeTime = _requestDirector.FindTeeTime(SelectedDate, SelectedTime); ReservedGolfer1Name = SelectedTeeTime.Golfer1.FullName; ReservedGolfer2Name = SelectedTeeTime.Golfer2.FullName; ReservedGolfer3Name = SelectedTeeTime.Golfer3.FullName; ReservedGolfer4Name = SelectedTeeTime.Golfer4.FullName; ReservedGolfer1CheckedIn = SelectedTeeTime.Golfer1CheckedIn; ReservedGolfer2CheckedIn = SelectedTeeTime.Golfer2CheckedIn; ReservedGolfer3CheckedIn = SelectedTeeTime.Golfer3CheckedIn; ReservedGolfer4CheckedIn = SelectedTeeTime.Golfer4CheckedIn; }
public decimal CalculatePlayerHandicap(ClubBaistUser authenticatedPlayer) { using var connection = new SqlConnection(ConnectionString); using var command = new SqlCommand("ViewPlayerHandicap", connection); command.CommandType = CommandType.StoredProcedure; command.Parameters.Add("@golferId", SqlDbType.NVarChar).Value = authenticatedPlayer.Id; var Rounds = new List <Round>(); connection.Open(); var reader = command.ExecuteReader(); if (reader.HasRows) { while (reader.Read()) // Mapping the program Object to Database { var roundDbInst = new Round() { Hole = (int)reader[3], Score = (int)reader[4], Rating = (decimal)reader[5], Slope = (decimal)reader[6], }; Rounds.Add(roundDbInst); } } reader.Close(); // Determine Handicap Differentials var handicapDifferentials = Rounds.Select(round => ((round.Score - round.Rating) * 113) / round.Slope).ToList(); // Average it var average = handicapDifferentials.Average(); // Multiply by 0.96 average *= (decimal)0.96; return(Math.Truncate(100 * average) / 100); }
public ClubBaistUser GetUserFromId(string userId) { ClubBaistUser clubBaistUser = null; using var connection = new SqlConnection(ConnectionString); using var command = new SqlCommand("GetUserNameFromId", connection); command.CommandType = CommandType.StoredProcedure; command.Parameters.Add("@userId", SqlDbType.VarChar).Value = userId; //Open the connection and execute the reader connection.Open(); var reader = command.ExecuteReader(); if (reader.HasRows) { while (reader.Read()) { clubBaistUser = GetUserFromUserName((string)reader[0]); } } reader.Close(); return(clubBaistUser); }
public ActionResult OnPost(string submit) { AuthenticatedUser = ClubBaistUsers.GetUserFromUserName(User.Identity.Name); SelectedDate = DateTime.Parse(Request.Query["date"]); SelectedTime = DateTime.Parse(Request.Query["time"]); if (!ModelState.IsValid) { return(Page()); } var result = false; SelectedTeeTime = _requestDirector.FindTeeTime(SelectedDate, SelectedTime); SelectedTeeTime.Golfer1.FullName = ReservedGolfer1Name; SelectedTeeTime.Golfer2.FullName = ReservedGolfer2Name; SelectedTeeTime.Golfer3.FullName = ReservedGolfer3Name; SelectedTeeTime.Golfer4.FullName = ReservedGolfer4Name; if (IsNullOrEmpty(SelectedTeeTime.BookerId) || SelectedTeeTime.BookerId == " " || SelectedTeeTime.BookerId == "") { SelectedTeeTime.BookerId = AuthenticatedUser.Id; } var cancelledGolfers = new List <string>(); switch (submit) { case "cancelForGolferOne": cancelledGolfers.Add(ReservedGolfer1Name); break; case "cancelForGolferTwo": cancelledGolfers.Add(ReservedGolfer2Name); break; case "cancelForGolferThree": cancelledGolfers.Add(ReservedGolfer3Name); break; case "cancelForGolferFour": cancelledGolfers.Add(ReservedGolfer4Name); break; case "cancelTeeTime": if (!IsNullOrEmpty(ReservedGolfer1Name)) { cancelledGolfers.Add(ReservedGolfer1Name); } if (!IsNullOrEmpty(ReservedGolfer2Name)) { cancelledGolfers.Add(ReservedGolfer2Name); } if (!IsNullOrEmpty(ReservedGolfer3Name)) { cancelledGolfers.Add(ReservedGolfer3Name); } if (!IsNullOrEmpty(ReservedGolfer4Name)) { cancelledGolfers.Add(ReservedGolfer4Name); } SelectedTeeTime.BookerId = " "; break; case "CheckInGolfers": SelectedTeeTime.Golfer1CheckedIn = ReservedGolfer1CheckedIn; SelectedTeeTime.Golfer2CheckedIn = ReservedGolfer2CheckedIn; SelectedTeeTime.Golfer3CheckedIn = ReservedGolfer3CheckedIn; SelectedTeeTime.Golfer4CheckedIn = ReservedGolfer4CheckedIn; break; } result = submit switch { "cancelForGolferOne" => _requestDirector.CancelTeeTime(SelectedTeeTime, cancelledGolfers), "cancelForGolferTwo" => _requestDirector.CancelTeeTime(SelectedTeeTime, cancelledGolfers), "cancelForGolferThree" => _requestDirector.CancelTeeTime(SelectedTeeTime, cancelledGolfers), "cancelForGolferFour" => _requestDirector.CancelTeeTime(SelectedTeeTime, cancelledGolfers), "cancelTeeTime" => _requestDirector.CancelTeeTime(SelectedTeeTime, cancelledGolfers), "Add" => _requestDirector.ReserveTeeTime(SelectedTeeTime), "CheckInGolfers" => _requestDirector.CheckInGolfers(SelectedTeeTime), _ => result }; if (!result) { return(Page()); } Alert = $"Modified TeeTime for {SelectedDate:dddd, dd MMMM yyyy} at {SelectedTime:hh:mm tt}"; return(RedirectToPage("ReserveTeeTime")); }
public DailyTeeSheet FindDailyTeeSheet(DateTime dailyTeeSheetDate, ClubBaistUser authenticatedUser) { return(_dailyTeeSheetsManager.GetDailyTeeSheet(dailyTeeSheetDate, authenticatedUser)); }
public decimal ViewPlayerHandicap(ClubBaistUser authenticatedPlayer) { return(_playerScoreManager.CalculatePlayerHandicap(authenticatedPlayer)); }
public void OnGet() { AuthenticatedUser = ClubBaistUsers.GetUserFromUserName(User.Identity.Name); AuthenticatedMemberAccount = _requestDirector.ViewMemberAccount(AuthenticatedUser.Id); }
public DailyTeeSheet GetDailyTeeSheet(DateTime dailyTeeSheetDate, ClubBaistUser authenticatedUser) { var requestedTeeTimesByDate = new List <TeeTime>(); using var connection = new SqlConnection(ConnectionString); using var command = new SqlCommand("GetTeeTimesByDate", connection); command.CommandType = CommandType.StoredProcedure; command.Parameters.Add("@Date", SqlDbType.VarChar).Value = dailyTeeSheetDate; //Open the connection and execute the reader connection.Open(); var reader = command.ExecuteReader(); if (reader.HasRows) { while (reader.Read()) { // Mapping the program Object to Database var teeTimeDbInstance = new TeeTime { Date = (DateTime)reader[0], Time = new DateTime(((TimeSpan)reader[1]).Ticks), Golfer1 = !DBNull.Value.Equals(reader[2]) ? _userManager.GetUserFromId((string)reader[2]) : new Shareholder(), Golfer2 = !DBNull.Value.Equals(reader[3]) ? _userManager.GetUserFromId((string)reader[3]) : new Shareholder(), Golfer3 = !DBNull.Value.Equals(reader[4]) ? _userManager.GetUserFromId((string)reader[4]) : new Shareholder(), Golfer4 = !DBNull.Value.Equals(reader[5]) ? _userManager.GetUserFromId((string)reader[5]) : new Shareholder(), }; var teeSheetDay = teeTimeDbInstance.Date.DayOfWeek; var teeTime = teeTimeDbInstance.Time; if (teeSheetDay == DayOfWeek.Saturday || teeSheetDay == DayOfWeek.Sunday) { if (teeTime >= authenticatedUser.weekendHolidayPlayingHoursAfter) { requestedTeeTimesByDate.Add(teeTimeDbInstance); } } else { if (!(authenticatedUser.regularPlayingHoursBefore < teeTime && authenticatedUser.regularPlayingHoursAfter > teeTime)) { requestedTeeTimesByDate.Add(teeTimeDbInstance); } } } } reader.Close(); return(new DailyTeeSheet(requestedTeeTimesByDate) { Date = dailyTeeSheetDate }); }