public async Task<IActionResult> CreateReservation(ReserveViewModel rvm) { //Third the reservation is created. if (ModelState.IsValid) { var teeTime = Mapper.Map<TeeTime>(rvm); teeTime.GolfCourse = _gcmRepo.GetGolfCourse(); teeTime.Member = await _gcmRepo.GetLoggedInMemberAsync(User); teeTime.Start = new DateTime( rvm.SelectedDate.Year, rvm.SelectedDate.Month, rvm.SelectedDate.Day, rvm.StartTime.Hour, rvm.StartTime.Minute, rvm.StartTime.Second); var success = _gcmRepo.ReserveTeeTime(teeTime); if (success) { //show success page var rcvm = new ReservationCreatedViewModel(); rcvm.Reservations = new List<DateTime>() { new DateTime(teeTime.Start.Ticks) }; return View(rcvm); } ModelState.AddModelError("StartTime", "Start Time already reserved."); return RedirectToAction("Reserve", new SelectDateViewModel(rvm.SelectedDate)); } //do something..? return RedirectToAction("Reserve", new SelectDateViewModel(rvm.SelectedDate)); }
public async Task<IActionResult> Update(ReserveViewModel vm) { var teeTime = Mapper.Map<TeeTime>(vm); teeTime.Start = vm.SelectedDate.Add(vm.StartTime.TimeOfDay); teeTime.GolfCourse = _gcmRepo.GetGolfCourse(); teeTime.Member = await _userManager.FindByIdAsync(vm.MemberId); _gcmRepo.UpdateTeeTime(teeTime); return RedirectToAction("TeeTimes", DateTime.MinValue); }
public async Task<IActionResult> TeeTimes(DateTime date) { var vm = new DailyTeeTimesViewModel(); if (date == DateTime.MinValue) { vm.Date = DateTime.Today; } else { vm.Date = date; } List<TeeTime> reservations; if (User.IsInRole("admin")) reservations = _gcmRepo.GetReservedTeeTimesForDate(vm.Date); else reservations = _gcmRepo.GetReservedTeeTimesForMember(await _gcmRepo.GetLoggedInMemberAsync(User)); vm.Reservations = new List<ReserveViewModel>(); foreach (var reservation in reservations) { var reserveVM = new ReserveViewModel() { Player1Name = reservation.Player1Name, Player2Name = reservation.Player2Name, Player3Name = reservation.Player3Name, Player4Name = reservation.Player4Name, StartTime = reservation.Start, Id = reservation.Id, SelectedDate = reservation.Start.Date }; vm.Reservations.Add(reserveVM); } return View(vm); }