Пример #1
0
        private Appointments CreateAppointmentFromEvent(int restaurantId, int tableId, string agendaEvent)
        {
            var myEvent = JsonConvert.DeserializeObject <EventViewModel>(agendaEvent);

            myEvent.date = myEvent.date.AddDays(1);
            var restaurant = _context.Restaurants.Where(r => r.Id == restaurantId).FirstOrDefault();

            if (restaurant == null)
            {
                throw new Exception("Invalid restaurant");
            }

            var table = _context.Tables.Where(t => t.localTableId == tableId &&
                                              t.restaurantId == restaurant).FirstOrDefault();

            if (table == null)
            {
                throw new Exception("Invalid table");
            }
            if (table.maxPeople < myEvent.PplCount)
            {
                throw new Exception("The table you selected is too small.\n Please select a bigger table or contact the restaurant management for special reservations.");
            }

            myEvent.table      = table;
            myEvent.restaurant = restaurant;

            var appointment = AppointmentsMapper.GetAppointmentFrom(myEvent);

            return(appointment);
        }
Пример #2
0
        public JsonResult GetAppointmentsForWeek(int restaurantId, int tableId, DateTime newWeek)
        {
            var appointments = _context.Appointments.Where(a => a.table.localTableId == tableId &&
                                                           a.restaurant.Id == restaurantId &&
                                                           a.startTime > newWeek.AddDays(-7) &&
                                                           a.startTime < newWeek.AddDays(7)).ToList();

            var model = AppointmentsMapper.GetAppointmentsModelFrom(appointments);

            return(Json(model));
        }