/// <summary> /// Delete all open reservations for a given user. /// </summary> /// <param name="userId"></param> public void DeleteReservationsByUserId(int userId) { using (MediathekEntities context = new MediathekEntities()) { var reservations = context.Users.Where(u => u.UserId == userId) .SelectMany(u => u.Reservations); foreach (Reservation res in reservations) { context.DeleteObject(res); } context.SaveChanges(); } }
/// <summary> /// Delete a reservation by its ID. /// </summary> /// <param name="reservationId">The ID of the reservation</param> public void DeleteReservation(int reservationId) { using (MediathekEntities context = new MediathekEntities()) { var res = from r in context.Reservations where r.ReservationId == reservationId select r; context.DeleteObject(res.First()); context.SaveChanges(); } }
/// <summary> /// Delete all open reservations for a given media. /// </summary> /// <param name="mediaId">The ID of the media</param> public void DeleteOpenReservationsByMedia(int mediaId) { using (MediathekEntities context = new MediathekEntities()) { var reservations = context.MediaSet.Where(m => m.MediaId == mediaId) .SelectMany(m => m.Reservations); foreach (Reservation res in reservations) { if (res.EndDate == null) { context.DeleteObject(res); } } context.SaveChanges(); } }