コード例 #1
0
        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"));
            }
        }
コード例 #2
0
        // 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());
            }
        }
コード例 #3
0
        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 }));
        }
コード例 #4
0
 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());
     }
 }