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()); }