Пример #1
0
        public static void CreateReservation(ReservationEntry reservation)
        {
            var context = new TableReadyContext();

            context.ReservationEntry.Add(reservation);
            context.SaveChanges();
        }
Пример #2
0
        public static void UpdateReservation(ReservationEntry reservation)
        {
            var context             = new TableReadyContext();
            var originalReservation = context.ReservationEntry.SingleOrDefault(re => re.ReservationId == reservation.ReservationId);

            originalReservation.EntryOrigin       = reservation.EntryOrigin;
            originalReservation.PartySize         = reservation.PartySize;
            originalReservation.ReservationStatus = reservation.ReservationStatus;
            context.SaveChanges();
        }
Пример #3
0
        public static void UpdateReservation(ReservationEntry reservation)
        {
            var context             = new TableReadyContext();
            var originalReservation = context.ReservationEntry.SingleOrDefault(p => p.ReservationId == reservation.ReservationId);

            originalReservation.PartySize           = reservation.PartySize;
            originalReservation.ReservationDateTime = reservation.ReservationDateTime;
            originalReservation.ReservationStatus   = reservation.ReservationStatus;
            originalReservation.CheckinDateTime     = reservation.CheckinDateTime;
            originalReservation.CustomerMessage     = reservation.CustomerMessage;
            context.SaveChanges();
        }
Пример #4
0
        public IActionResult ReservationCreate(ResCustomerModelView viewReservation)
        {
            LogRestaurant();
            ClaimsPrincipal cp     = this.User;
            var             claims = cp.Claims.ToList();
            var             custId = Convert.ToInt32(claims.SingleOrDefault(p => p.Type == "CustomerID").Value);

            if (viewReservation.PartySize <= 0)
            {
                TempData["Message"]      = null;
                TempData["ErrorMessage"] = "Sorry!!! Your Reservation couldn't be created. PartySize must be a non-zero positive number";
                return(RedirectToAction("ReservationCreate"));
            }
            else
            {
                if (viewReservation.PartySize >= 100)
                {
                    TempData["Message"]      = null;
                    TempData["ErrorMessage"] = "Sorry!!! Your Reservation couldn't be created. PartySize not supported by the Restaurant.";
                    return(RedirectToAction("ReservationCreate"));
                }
                else
                {
                    DateTime eDatetime = Convert.ToDateTime("1/1/0001 12:00:00 AM");
                    if (viewReservation.ReservationDate == eDatetime)
                    {
                        TempData["Message"]      = null;
                        TempData["ErrorMessage"] = "You must pick a date and time to complete your reservation.";
                        return(RedirectToAction("ReservationCreate"));
                    }
                    else
                    {
                        if (viewReservation.ReservationDate.Date <= DateTime.Today.Date)
                        {
                            if (viewReservation.ReservationDate.Date == DateTime.Today.Date)
                            {
                                TempData["Message"]      = null;
                                TempData["ErrorMessage"] = "Sorry!!! Your Reservation couldn't be created. Reservations for today are closed. Try the waitlist!";
                            }
                            else
                            {
                                TempData["Message"]      = null;
                                TempData["ErrorMessage"] = "Sorry!!! Your Reservation couldn't be created. Reservations are only for future dates.";
                            }
                            return(RedirectToAction("ReservationCreate"));
                        }
                        else
                        {
                            var reservation = new ReservationEntry
                            {
                                EntryOrigin         = "app",
                                PartySize           = viewReservation.PartySize,
                                CustomerId          = custId,
                                RestaurantId        = viewReservation.RestaurantID,
                                ReservationStatus   = "on Hold",
                                ReservationDateTime = viewReservation.ReservationDate,
                            };
                            try
                            {
                                TempData["Message"]      = "Your NEW Reservation was created. The restaurant's manager will evaluate the restaurant availability and will reply as soon as possible";
                                TempData["ErrorMessage"] = null;
                                RestaurantsManager.CreateReservation(reservation);
                                return(RedirectToAction(nameof(ReservationsShow)));
                            }
                            catch
                            {
                                return(View());
                            }
                        }
                    }
                }
            }
        }