public string DeleteCustomer(int customerId) { try { using (var context = new BAEntities()) { var customerToDelete = (from cust in context.Contacts.OfType <Customer>() .Include("Reservations") where cust.ContactID == customerId select cust).Single(); var reservationsToDelete = customerToDelete.Reservations.ToList(); foreach (Reservation r in reservationsToDelete) { context.DeleteObject(r); } context.DeleteObject(customerToDelete); context.SaveChanges(); return("Success"); } } catch (Exception ex) { string errorMessage = null; //TODO: construct a message to return to the client return(errorMessage); } }
private static void DeleteReservations(BAEntities context, List <int> reservationsToDelete) { if (null != reservationsToDelete) { var query = from reservation in context.Reservations join reservationId in reservationsToDelete on reservation.ReservationID equals reservationId where reservation.Payments.Count == 0 select reservation; foreach (var reservation in query) { context.DeleteObject(reservation); } } }