private void OnConfigProjectChanged(object sender, ConfigProjectValueChangedEventArgs e)
        {
            var receivedConfigProject = e.ConfigProject;

            if (!ConfigProjectsLibs.Any(cp => cp.Id == receivedConfigProject.ConfigProjectLibID))
            {
                ConfigProjectsLibs.Add(new ConfigProjectsLib
                {
                    Id          = receivedConfigProject.ConfigProjectLibID,
                    ProjectName = receivedConfigProject.ProjectName,
                    Selected    = true
                }
                                       );
                ConfigProjectCollection.Add(receivedConfigProject);
            }
            else
            {
                ConfigProject configProject = ConfigProjectCollection.Where(pr => pr.ID == receivedConfigProject.ID).FirstOrDefault();
                ConfigProjectCollection.Remove(configProject);
                ConfigProjectCollection.Add(receivedConfigProject);
                ConfigProjectCandidateCollection.Where(cc => cc.ConfigProjectID == receivedConfigProject.ID)
                .ToList()
                .ForEach(cc =>
                {
                    cc.Area         = receivedConfigProject.AreaName;
                    cc.ConfigAreaID = receivedConfigProject.ConfigAreaID;
                });
                addConfigsToCandidates();
                //Candidates.ToList().ForEach(cc=>cc.CandidateProjects=)
            }
        }
 private void addConfigsToCandidates()
 {
     Candidates.ToList()
     .ForEach(e => e.CandidateProjects = ConfigProjectCandidateCollection.Where(cp => cp.ConfigCandidateID.Equals(e.ID)).ToList().ToObservableCollection());
 }