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 AssignNewProject(object obj)
        {
            //int? newcandidateCompanyId = null;
            int?newCompanyId;
            int?newcandidateProjectsId;

            CandidateHistory = new CandidateHistory();

            if (ReceivedCandidateProjects.Where(e => e.ConfigProjectID.Equals(SelectedProject.ID)).Any())
            {
                MessengerCandidateHistory.Default.Send <CandidateHistory>(CandidateHistory);
                return;
            }

            if (!ConfigCompanyCollectionAll.Where(e => e.Company.ToUpper().Equals(obj.ToString().ToUpper())).Any())
            {
                newCompanyId = configCompanyRepository.AddConfigCompany(obj.ToString());
                ConfigCompanyCollectionAll.Add(new ConfigCompany()
                {
                    ID = (int)newCompanyId, Company = obj.ToString()
                });
            }


            newcandidateProjectsId = configProjectsCandidateRepository.AddConfigProjectCandidate
                                         (ReceivedCandidateProjects.Select(e => e.ConfigCandidateID).FirstOrDefault(), SelectedProject, SelectedPosition,
                                         ConfigCompanyCollectionAll.Where(e => e.Company.ToUpper().Equals(obj.ToString().ToUpper())).FirstOrDefault().ID);



            CandidateHistory.CandidateID          = ReceivedCandidateProjects.Select(e => e.ConfigCandidateID).FirstOrDefault();;
            CandidateHistory.ProjectID            = SelectedProject.ID;
            CandidateHistory.ProjectName          = SelectedProject.ProjectName;
            CandidateHistory.Position             = SelectedPosition;
            CandidateHistory.Timestamp            = DateTime.Now;
            CandidateHistory.StatusName           = SelectedStatus.Description;
            CandidateHistory.CompanyID            = ConfigCompanyCollectionAll.Where(e => e.Company.ToUpper().Equals(obj.ToString().ToUpper())).FirstOrDefault().ID;
            CandidateHistory.CompanyName          = ConfigCompanyCollectionAll.Where(e => e.Company.ToUpper().Equals(obj.ToString().ToUpper())).FirstOrDefault().Company;
            CandidateHistory.ConfigAreaId         = SelectedProject.ConfigAreaID;
            CandidateHistory.AreaName             = SelectedProject.AreaName;
            CandidateHistory.Seq                  = 1;
            CandidateHistory.ConfigStatusID       = SelectedStatus.ID;
            CandidateHistory.Comments             = Comment;
            CandidateHistory.CandidatesProjectsID = (int)newcandidateProjectsId;
            CandidateHistory.ConfigProjectLib     = SelectedProject.ConfigProjectLibID;



            MessengerCandidateHistory.Default.Send <CandidateHistory>(CandidateHistory);



            //new CandidateCompany() { }
        }