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); }
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)); }