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 OnCandidateCollectionReceived(ObservableCollection <Candidate> candidateCollection)
        {
            if (candidateCollection.Any(e => e.IsNew))
            {
                dialogService.CloseDetailDialog();
                Candidate candidate = candidateCollection.Where(e => e.IsNew).FirstOrDefault();

                candidate.IsNew = false;
                //configProjectsCandidateRepository.AddConfigProjectCandidate()
                candidate.CandidateProjects.Add
                    (new ConfigProjectCandidate()
                {
                    ConfigProjectID = ConfigProjectCollection
                                      .Join(ConfigProjectsLibs
                                            .Where(s => s.ProjectName == "Not assigned").ToList(),
                                            c => c.ConfigProjectLibID, s => s.Id, (s, c) => s.ID).FirstOrDefault(),
                    CompanyId         = ConfigCompanyCollection.Where(c => c.Company == "Not assigned").FirstOrDefault().ID,
                    Company           = "Not assigned",
                    ProjectName       = "Not assigned",
                    Position          = "",
                    ConfigCandidateID = candidate.ID
                }
                    );
                candidate.CandidateProjects[0].ID = configProjectsCandidateRepository.
                                                    AddConfigProjectCandidate(candidate.ID, ConfigProjectCollection
                                                                              .Join(ConfigProjectsLibs
                                                                                    .Where(s => s.ProjectName == "Not assigned").ToList(),
                                                                                    c => c.ConfigProjectLibID, s => s.Id, (s, c) => s).FirstOrDefault(), "", candidate.CandidateProjects[0].CompanyId);
            }
        }
        private void SelectAllProjects(object obj)
        {
            bool isChecked = (bool)obj;

            //((CheckBox)obj).IsChecked;
            ConfigProjectsLibs.ToList().ForEach(e => e.Selected = (bool)isChecked);
            AllProjectsSelected = (bool)isChecked;
        }