public ActionResult viewReservation() { if (TempData.ContainsKey("adminId")) { var joinedTable = dbContext.reservations.Join(dbContext.restaurants, re => re.restaurantId, r => r.id, (re, r) => new { restaurantname = r.name, id = re.Id, noofpeople = re.noOfPeople, customerid = re.customerId, restaurantid = re.restaurantId, timeslot = re.timeslot }); var result = joinedTable.Select(s => s); List <reservationViewModel> reservations = new List <reservationViewModel>(); foreach (var item in result) { reservationViewModel reservation = new reservationViewModel(); reservation.Id = item.id; reservation.noOfPeople = item.noofpeople; reservation.restaurantId = item.restaurantid; reservation.restaurantName = item.restaurantname; reservation.timeslot = item.timeslot; reservation.customerId = item.customerid; reservations.Add(reservation); } return(View(reservations)); //var reservationTable = dbContext.reservations.Select(s => s); //return View(reservationTable); } else { TempData.Clear(); return(RedirectToAction("LogIn", "LogIn")); } }
// reserve table public ActionResult ReserverTable(int id) { try { if (TempData.ContainsKey("custId")) { reservationViewModel reservationView = new reservationViewModel(); ViewBag.timeSlots = reservationView.populateTimeSlot(id); //reservationView.restaurantId = id; ViewBag.restaurantId = id + ""; return(View()); } else { custId = null; return(RedirectToAction("LogIn", "LogIn")); } } catch (Exception ex) { ViewBag.errorMessage = ex.Message; return(View()); } }
public ActionResult ReserverTable(reservationViewModel formvalues) { int lastReservationId; int restaurantId = Convert.ToInt32(formvalues.restaurantId); try { if (TempData.ContainsKey("custId")) { if (dbContext.reservations.Any()) { lastReservationId = dbContext.reservations.Select(s => s.Id).Max(); } else { lastReservationId = 0; } reservationViewModel reservationView = new reservationViewModel(); //ViewBag.timeSlots = reservationView.populateTimeSlot(id); reservation reservationTuple = new reservation(); reservationTuple.customerId = TempData.Peek("custId") as string; reservationTuple.Id = ++lastReservationId; reservationTuple.restaurantId = formvalues.restaurantId; reservationTuple.noOfPeople = formvalues.noOfPeople; reservationTuple.timeslot = formvalues.timeslot; var result = dbContext.reservationInfoes.SingleOrDefault(s => (s.resturantId.Equals(restaurantId)) && (s.Timeslot.Equals(reservationTuple.timeslot))); if (result != null) { result.availableSeats -= formvalues.noOfPeople; dbContext.SaveChanges(); dbContext.reservations.Add(reservationTuple); dbContext.SaveChanges(); return(RedirectToAction("viewReservations")); } else { throw new Exception("No bookings available"); } } else { custId = null; RedirectToAction("LogIn", "LogIn"); } } catch (Exception ex) { ViewBag.errorMessage = ex.Message; } return(RedirectToAction("ReserverTable", new { id = formvalues.restaurantId })); }
public ActionResult viewReservations() { try { if (TempData.ContainsKey("custId")) { string custid = TempData.Peek("custId") as string; var joinedTable = dbContext.reservations.Join(dbContext.restaurants, re => re.restaurantId, r => r.id, (re, r) => new { restaurantname = r.name, id = re.Id, noofpeople = re.noOfPeople, customerid = re.customerId, restaurantid = re.restaurantId, timeslot = re.timeslot }); var result = joinedTable.Where(s => s.customerid.Equals(custid)); List <reservationViewModel> reservations = new List <reservationViewModel>(); foreach (var item in result) { reservationViewModel reservation = new reservationViewModel(); reservation.Id = item.id; reservation.noOfPeople = item.noofpeople; reservation.restaurantId = item.restaurantid; reservation.restaurantName = item.restaurantname; reservation.timeslot = item.timeslot; reservation.customerId = custid; reservations.Add(reservation); } return(View(reservations)); } else { custId = null; return(RedirectToAction("LogIn", "LogIn")); } } catch (Exception ex) { ViewBag.errorMessage = ex.Message; return(View()); } }