public CurriculumVitaeViewModel PerpareCurriculumVitaeViewModel(CurriculumVitaeViewModel model, Boolean DisplayFullCurriculumVitae) { if (model == null) { throw new ArgumentNullException(nameof(model)); } CurriculumVitea UserCurriculumVitae = _curriculumVitaeService.GetCurriculumVitea(_userService.GetUserID()); //Load All CV Sections if (DisplayFullCurriculumVitae) { model.Id = UserCurriculumVitae.Id; model.UserCareerSummary = UserCurriculumVitae.CareerSummary; model.DateLastUpdated = UserCurriculumVitae.DateLastUpdated; IntegratorUser CurrentUser = _userService.GetCurrentLoginInUser(); model.UserFirstName = CurrentUser.FirstName; model.UserLastName = CurrentUser.LastName; model.UserPicture = _userService.GetUserProfilePictureAsync().Result; //adds any awrards the the user may have.//. foreach (IntegratorUserAwards item in _userService.GetAwards()) { model.UserAwards.Add(new UserAwardViewModel() { Id = item.Id, AwardDescription = item.AwardDescription, AwardTitle = item.AwardTitle }); } //adds any Languages the the user may Speak. foreach (IntegratorUserLanguages item in _userService.GetUserLanguages()) { model.UserLanguages.Add(new UserLanguageViewModel() { Id = item.Id, IsPrimaryLanguage = item.IsPrimaryLanguage, CanSpeakAndWrite = item.CanSpeakAndWrite, Language = item.SpokenLanguage.LanguageSpoken, LanguageProficiencyLevel = item.LanguageProficiencyLevel }); } //adds any awrards the the user may have. foreach (IntegratorUserInterest item in _userService.GetUserInterests()) { model.UserInterests.Add(new UserInterestViewModel() { Id = item.Id, InterestLevel = item.InterestLevel, Interest = item.UserInterest.AnInterest }); } //adds any Qualifications the the user may have. foreach (UserQualification item in _userService.GetQualifications()) { model.UserQualifications.Add(new UserQualificationViewModel() { Id = item.Id, QualificationLevel = item.QualificationLevel.QualificationLevel, QualificationTitle = item.QualificationTitle, YearStartedQualification = item.YearStartedQualification.Year.ToString(), YearCompletedQualification = item.YearCompletedQualification.Year.ToString(), EductaionalInstitution = item.EductaionalInstitution.EductaionalInstitution, QualificationAverage = item.QualificationAverage }); } //Adds all user jobs Listed -[Curriculum Vitae Experience Deatils] foreach (UserJob item in _userKnowledgeBaseService.ListUserJobByCurriculumVitae(model.Id)) { var CVWEVM = new CurriculumViteaWorkExperienceViewModel() { Id = item.Id, Company = item.Company.CompanyName, JobTitle = item.CoreKbJob.CoreKbJobTitle, WorkExperienceDescription = item.WorkExperienceDescription, Achievements = item.Achievments, YearStarted = item.DateStarted.Year.ToString(), YearEnded = item.DateEnded.Year.ToString() }; CVWEVM.ListOfHardSkillsEmployed = _userKnowledgeBaseService.ListUserHardSkillsPerUserJob(item.Id); CVWEVM.ListOfSoftSkillsEmployed = _userKnowledgeBaseService.ListUserSoftSkillsPerUserJob(item.Id); //foreach (UserJobSkill InnerItem in item.UserJobSkills) //{ // //var y = CVWEVM.Select(x => x.JobSkill).FirstOrDefault(); // CVWEVM.SkillsEmployed.Add(new UserSkillViewModel() // { // Id = InnerItem.Id, // JobSkill = InnerItem.CoreKbSkill.CoreSkill, // SkillLevel = InnerItem.UserJobSkillLevel // }); //} model.UserWorkExperiences.Add(CVWEVM); } } else { model.Id = UserCurriculumVitae.Id; IntegratorUser CurrentUser = _userService.GetCurrentLoginInUser(); model.UserFirstName = CurrentUser.FirstName; model.UserLastName = CurrentUser.LastName; model.UserCareerSummary = UserCurriculumVitae.CareerSummary; model.DateLastUpdated = UserCurriculumVitae.DateLastUpdated; } return(model); }