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, "");
            }
        }