public void RecordTime() { var existent = TimeRecordsInternal.SingleOrDefault(x => (x.Number == CurrentNumber) && !x.IsPossiblyWrong); if (!ReferenceEquals(null, existent)) { var message = string.Format( "Number {0} was already recorded at {1}!", existent.Number, existent.Time); MessageBox.Show(message, "Warning", MessageBoxButton.OK, MessageBoxImage.Warning); return; } var record = new TimeRecord(++_id, CurrentNumber, DateTime.Now); TimeRecordsInternal.Add(record); _haveUnsavedData = true; NotifyOfPropertyChange(() => CanSearch); }