public static void BookForDate(Booking booking) { XmlBookingWriter writer = new XmlBookingWriter(BookingFile); XmlBookingReader reader = new XmlBookingReader(BookingFile); XmlApartmentWriter apartmentWriter = new XmlApartmentWriter(ApartmentFile); if (reader.Exist(booking)) { throw new Exception("This apartment has booked already."); } writer.AppendElement(booking); apartmentWriter.ChangeApartmentBooking(booking, true); }
private static void CheckOut(Guest guest) { XmlBookingWriter bookingWriter = new XmlBookingWriter(BookingFile); XmlGuestWriter guestWriter = new XmlGuestWriter(GuestFile); XmlApartmentWriter apartmentWriter = new XmlApartmentWriter(ApartmentFile); XmlGuestHistoryWriter guestHistoryWriter = new XmlGuestHistoryWriter(GuestHistoryFile); XmlBookingReader bookingReader = new XmlBookingReader(BookingFile); var booking = bookingReader.GetBookings().Single(book => book.GuestId == guest.Id); booking.BookStatus = BookingStatus.CHECK_OUT; guestWriter.RemoveElement(guest); //=>save to history bookingWriter.RemoveElement(booking); //=>save to history apartmentWriter.ChangeApartmentBooking(booking, false); guestHistoryWriter.Archive(guest, booking); }