public void BuildLearnerRecordCriteria(TqRegistrationProfile profile, bool?isEngishAndMathsAchieved, bool seedIndustryPlacement = false, IndustryPlacementStatus ipStatus = IndustryPlacementStatus.Completed)
        {
            if (profile == null)
            {
                return;
            }

            profile.IsEnglishAndMathsAchieved = isEngishAndMathsAchieved;

            if (seedIndustryPlacement)
            {
                var pathway = profile.TqRegistrationPathways.OrderByDescending(x => x.CreatedOn).FirstOrDefault();
                IndustryPlacementProvider.CreateIndustryPlacement(DbContext, pathway.Id, ipStatus);
            }
        }
        public void BuildLearnerRecordCriteria(TqRegistrationProfile profile, bool?isRcFeed, bool seedQualificationAchieved, bool isSendQualification, bool?isEngishAndMathsAchieved, bool seedIndustryPlacement = false, bool?isSendLearner = null, IndustryPlacementStatus ipStatus = IndustryPlacementStatus.Completed)
        {
            if (profile == null)
            {
                return;
            }

            profile.IsRcFeed = isRcFeed;
            profile.IsEnglishAndMathsAchieved = isEngishAndMathsAchieved;
            profile.IsSendLearner             = isSendLearner;

            if (seedQualificationAchieved)
            {
                var engQual  = Qualifications.FirstOrDefault(e => e.TlLookup.Code == "Eng" && e.IsSendQualification == isSendQualification);
                var mathQual = Qualifications.FirstOrDefault(e => e.TlLookup.Code == "Math");

                var engQualifcationGrade   = engQual.QualificationType.QualificationGrades.FirstOrDefault(x => x.IsAllowable == isEngishAndMathsAchieved);
                var mathsQualifcationGrade = mathQual.QualificationType.QualificationGrades.FirstOrDefault(x => x.IsAllowable == isEngishAndMathsAchieved);

                profile.QualificationAchieved.Add(new QualificationAchieved
                {
                    TqRegistrationProfileId = profile.Id,
                    QualificationId         = engQual.Id,
                    QualificationGradeId    = engQualifcationGrade.Id,
                    IsAchieved = engQualifcationGrade.IsAllowable
                });

                profile.QualificationAchieved.Add(new QualificationAchieved
                {
                    TqRegistrationProfileId = profile.Id,
                    QualificationId         = mathQual.Id,
                    QualificationGradeId    = mathsQualifcationGrade.Id,
                    IsAchieved = mathsQualifcationGrade.IsAllowable
                });
            }

            if (seedIndustryPlacement)
            {
                var pathway = profile.TqRegistrationPathways.OrderByDescending(x => x.CreatedOn).FirstOrDefault();
                IndustryPlacementProvider.CreateIndustryPlacement(DbContext, pathway.Id, ipStatus);
            }
        }
        public static IndustryPlacement CreateIndustryPlacement(ResultsAndCertificationDbContext _dbContext, int tqRegistrationPathwayId, IndustryPlacementStatus status, bool addToDbContext = true)
        {
            var qualificationAchieved = new IndustryPlacement
            {
                TqRegistrationPathwayId = tqRegistrationPathwayId,
                Status = status
            };

            if (addToDbContext)
            {
                _dbContext.Add(qualificationAchieved);
            }
            return(qualificationAchieved);
        }