private void AssignCandidateProc() { var selectedCandidates = SelectedOpening.ToAssignList.Where(c => c.IsSelected).ToList(); foreach (var candidate in selectedCandidates) { var qualId = SelectedOpening.Model.QualificationId; var candidateId = candidate.Model.CandidateId; var canQual = _repository.CanQualify.Get(c => c.CandidateId == candidateId && c.QualificationId == qualId); try { NewPlacement = new NewPlacementModel(new Placement(), _repository, _selectedOpening, candidate); NewHistory = new NewHistoryModel(new History(), _repository, _selectedOpening, candidate, NewPlacement); SelectedOpening.Placements.Add(new PlacementModel(NewPlacement.ModelCopy, _repository)); canQual.IsAssigned = false; canQual.OpeningNumber = SelectedOpening.Model.OpeningNumber; _repository.CanQualify.Update(canQual); _selectedOpening.ToAssignList.Remove(candidate); } catch (Exception e) { MessageBox.Show("Unable to assign. Reason: " + e.Message); } } ViewModelLocatorStatic.Locator.CompanyModule.SelectedCompany = ViewModelLocatorStatic.Locator.CompanyModule.SelectedCompany; SelectedOpening = SelectedOpening; }
public NewHistoryModel(DataAccess.EF.History model, IRepository repository, OpeningModel selectedOpening, CandidateSelection selectedCandidate, NewPlacementModel selectedPlacement) : base(model) { _repository = repository; ModelCopy.DateStarted = selectedOpening.Model.StartDate; ModelCopy.DateEnded = selectedOpening.Model.EndDate; ModelCopy.CandidateId = selectedCandidate.Model.CandidateId; ModelCopy.PlacementId = selectedPlacement.ModelCopy.PlacementId; ModelCopy.HistoryDescription = selectedOpening.Model.Qualification.QualificationCode; _repository.History.Add(ModelCopy); //var candidate = _repository.Candidate.Get(c => c.CandidateId == selectedCandidate.Model.CandidateId); //SelectedCandidate = candidate; }