Пример #1
0
        public void SaveReservation(ReservationInfo resInfo)
        {
            Guest       guest       = GetGuest(resInfo);
            Reservation reservation = GetReservation(resInfo.Id);

            if (reservation == null)
            {
                Reservations.Add(new Models.Reservation(resInfo));
                Logging.Instance.WriteLine("Add reservation:");

                reservation = resInfo.ToReservation(this);
                Context.Reservations.Add(reservation);
            }
            else
            {
                Reservations[resInfo.Id - 1] = new Models.Reservation(resInfo);
                Logging.Instance.WriteLine("Edit reservation:");
                Logging.Instance.WriteLine($"Old: {reservation}", true);

                UpdateReservation(reservation, guest, resInfo);
            }
            Logging.Instance.WriteLine($"New: {reservation}", true);
            Context.SaveChanges();
            UpdateResInfos();
            OnReservationsChanged?.Invoke(this, EventArgs.Empty);
        }
Пример #2
0
        public void CheckInReservation(int room, DateTime startDate)
        {
            Reservation reservation = Context.Reservations
                                      .Include(r => r.Guest).Include(r => r.Transactions)
                                      .Where(r => r.Room.FullRoomNumber == room)
                                      .Where(r => r.StartDate <= startDate)
                                      .Where(r => startDate < r.EndDate)
                                      .FirstOrDefault(r => r.State != State.Canceled);

            if (reservation == null)
            {
                return;
            }
            Logging.Instance.WriteLine("Edit reservation:");
            Logging.Instance.WriteLine($"Old: {reservation}", true);
            Reservations[reservation.Id - 1].State = State.CheckedIn;
            reservation.LastVersionJson            = JsonHandler.SerializeToJson(reservation);
            reservation.State        = State.CheckedIn;
            reservation.DateModified = DateTime.Now;
            Logging.Instance.WriteLine($"New: {reservation}", true);
            Context.SaveChanges();
            UpdateResInfos();
            OnReservationsChanged?.Invoke(this, EventArgs.Empty);
        }
Пример #3
0
 public void ImportReservations(string importFilePath)
 {
     Reservations = JsonImport.ImportReservations(this, importFilePath);
     OnReservationsChanged?.Invoke(this, EventArgs.Empty);
 }