/// <summary> /// Adds or Edit a new reservation /// </summary> private void Save() { try { Data.Reservation reservation; if (!IsNewReservation) { reservation = _reservationRepo.GetReservationById(ManipulatedReservation.ID); } else { reservation = new Data.Reservation(); } reservation.Table = _tableRepo.GetTableById(SelectedTable.Id); reservation.AmountPeople = ManipulatedReservation.AmountPeople; reservation.LastName = ManipulatedReservation.LastName; reservation.PhoneNumber = ManipulatedReservation.PhoneNumber; reservation.StartTime = ManipulatedReservation.StartTime; if (IsNewReservation) { Reservations.Add(reservation); _reservationRepo.AddReservation(reservation); Cancel(); MessageHandler.InvokeSuccessMessage(Properties.Resources.Reservations, Properties.Resources.InfoReservationAdded); } else { Reservations.Add(reservation); _reservationRepo.UpdateReservation(reservation); Cancel(); MessageHandler.InvokeSuccessMessage(Properties.Resources.Reservations, Properties.Resources.InfoReservationAdded); } } catch (ArgumentException e) { ErrorHandler.ThrowError(0, e.Message); } catch (Exception e) { ErrorHandler.ThrowError(0, e.Message); } }