示例#1
0
        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);
        }