Exemplo n.º 1
0
        /// <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();
            }
        }
Exemplo n.º 2
0
        /// <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();
            }
        }
Exemplo n.º 3
0
        /// <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();
            }
        }