private void Save(object obj) { NewCandidate.IsNew = true; if (CandidatesCollection.Where (e => e.FirstName.ToLower().Equals(NewCandidate.FirstName.ToLower()) && e.LastName.ToLower().Equals(NewCandidate.LastName.ToLower())).Any() ) { if (MessageBox.Show("You have candidate with same first and last names. Continue anyway?", "", MessageBoxButton.YesNo) == MessageBoxResult.No) { return; } } try { NewCandidate.ID = candidateRepository.AddCandidtate(NewCandidate); CandidatesCollection.Add(NewCandidate); MessengerCandidateCollection.Default.Send <ObservableCollection <Candidate> >(CandidatesCollection); } catch (Exception ex) { MessageBox.Show("Adding new candidate failed." + ex.Message, ""); } }