Пример #1
0
 public ProgramResponse(ProfileCompletedViewModel programView) : this(true, string.Empty, programView)
 {
 }
Пример #2
0
        public async Task <ProfileCompletedViewModel> GetProfileCompletedDetailsAsync(int profileId)
        {
            var programViewDetails = new ProfileCompletedViewModel();
            var userInfo           = await _appDbContext.UserInfos.Include(k => k.User).FirstOrDefaultAsync(k => k.UserId == profileId);

            var profile = await _appDbContext.Profiles.FirstOrDefaultAsync(k => k.Id == profileId).ConfigureAwait(false);


            var profileEducation = await _appDbContext.ProfileEducations.Where(k => k.ProfileId == profileId).ToListAsync();

            var profileWorkExperiences = await _appDbContext.ProfileWorkExperiences.Where(k => k.ProfileId == profileId).ToListAsync();

            var profileAchievements = await _appDbContext.ProfileAchievements.Where(k => k.ProfileId == profileId).ToListAsync();

            var profileTrainings = await _appDbContext.ProfileTrainings.Where(k => k.ProfileId == profileId).ToListAsync();

            var profileAssessmentToolScores = await _appDbContext.ProfileAssessmentToolScores.Where(k => k.ProfileId == profileId).ToListAsync();

            var profileMemberships = await _appDbContext.ProfileMemberships.Where(k => k.ProfileId == profileId).ToListAsync();

            var applications = await _appDbContext.Applications.Where(k => k.ProfileId == profileId).ToListAsync();

            programViewDetails.Education       = profileEducation.Count;
            programViewDetails.Achievements    = profileAchievements.Count;
            programViewDetails.WorkExperiences = profileWorkExperiences.Count;
            //  programViewDetails.Membership = profile.ProfileMemberships.Count;
            programViewDetails.Trainings = profileTrainings.Count;

            if (profile.LastEducationCertificateFileId.HasValue &&
                profile.UaeidfileId.HasValue &&
                profile.CvfileId.HasValue &&
                profile.PassportFileId.HasValue &&
                profile.FamilyBookFileId.HasValue)
            {
                programViewDetails.IsAllDocumentUploaded = true;
            }

            if (profile.FirstNameEn != null && profile.SecondNameEn != null &&
                profile.ThirdNameEn != null && profile.LastNameEn != null &&
                profile.FirstNameAr != null && profile.SecondNameAr != null &&
                profile.ThirdNameAr != null && profile.LastNameAr != null &&
                profile.ResidenceCountryId.HasValue && profile.Address != null &&
                profile.PassportNumber != null && profile.PassportIssueEmirateItemId.HasValue &&
                profile.BirthDate.HasValue && userInfo.Mobile != null &&
                profile.Eid != null && userInfo.User.OriginalImageFileId.HasValue)
            {
                programViewDetails.IsCandidateInfoCompleted = true;
            }

            programViewDetails.IsAssessmentCompleted = true;

            var profileToolScore = profileAssessmentToolScores.ToList();

            var personalityAssessment =
                await _appDbContext.AssessmentTools.FirstOrDefaultAsync(ass => ass.AssessmentToolCategory == (int)AssessmentToolCategory.Personality);

            if (personalityAssessment != null)
            {
                var isCompleted = profileToolScore.OrderByDescending(k => k.Order).FirstOrDefault()?.IsCompleted ?? false;
                if (!isCompleted)
                {
                    programViewDetails.IsAssessmentCompleted = false;
                }
            }

            var eQAssessment =
                await _appDbContext.AssessmentTools.FirstOrDefaultAsync(ass => ass.AssessmentToolCategory == (int)AssessmentToolCategory.EQ);

            if (eQAssessment != null)
            {
                var isCompleted = profileToolScore.OrderByDescending(k => k.Order).FirstOrDefault()?.IsCompleted ?? false;
                if (!isCompleted)
                {
                    programViewDetails.IsAssessmentCompleted = false;
                }
            }


            var wellBeingAssessment =
                await _appDbContext.AssessmentTools.FirstOrDefaultAsync(ass => ass.AssessmentToolCategory == (int)AssessmentToolCategory.Wellbeing);

            if (wellBeingAssessment != null)
            {
                var isCompleted = profileToolScore.OrderByDescending(k => k.Order).FirstOrDefault()?.IsCompleted ?? false;

                if (!isCompleted)
                {
                    programViewDetails.IsAssessmentCompleted = false;
                }
            }

            programViewDetails.ProfileCompletedPercentage = profile.CompletenessPercentage;

            return(programViewDetails);
        }
Пример #3
0
 private ProgramResponse(bool success, string message, ProfileCompletedViewModel programView) : base(success, message)
 {
     ProfileCompletedView = programView;
 }