public static void removeById(LiteDatabaseContext _context, string id) { Reservation reservation = _context.Reservations.SingleOrDefault(e => e.ReservationId == id); _context.Reservations.Remove(reservation); _context.SaveChanges(); }
public IActionResult ConfirmReservation(ReservationViewModel reservation) { if (!ModelState.IsValid) { return(RedirectToAction("Error")); } TimeSlot slot = new TimeSlot(); slot.FullDate = reservation.ReservationDate; //Ensure reservation is still available if (ReservationLogic.isAvailable(_context, reservation.GuestAmount, ReservationLogic.getTableCount(_context), slot)) { //Convert out viewmodel to entity model Reservation EntityReservation = new Reservation(); EntityReservation.ReservationId = Guid.NewGuid().ToString(); EntityReservation.BookingUser = reservation.User; EntityReservation.GuestAmount = reservation.GuestAmount; EntityReservation.ReservationTime = reservation.ReservationDate; EntityReservation.Menu = reservation.Menu; EntityReservation.Drink = reservation.Drink; List <Table> desiredTables = ReservationLogic.reserveTables(_context, reservation.GuestAmount, slot); foreach (Table table in desiredTables) { TableReservation tableReservation = new TableReservation(); tableReservation.Reservation = EntityReservation; tableReservation.ReservationId = EntityReservation.ReservationId; tableReservation.Table = table; tableReservation.TableId = table.TableId; EntityReservation.TableReservations.Add(tableReservation); } //Save entity to db _context.Add(EntityReservation); _context.SaveChanges(); return(View()); } else { return(RedirectToAction("Error")); } }