コード例 #1
0
        public IEnumerable <ValidationErrorRow> Build(
            IEnumerable <ValidationError> ilrValidationErrors,
            ILooseMessage message,
            IReadOnlyCollection <Models.ReferenceData.MetaData.ValidationError> validationErrorsMetadata)
        {
            List <ValidationErrorRow> validationErrorModels = new List <ValidationErrorRow>();

            var learnerDictionary = BuildLearnerDictionary(message);

            foreach (ValidationError validationError in ilrValidationErrors)
            {
                ILooseLearner          learner          = learnerDictionary?.GetValueOrDefault(validationError.LearnerReferenceNumber?.Trim());
                ILooseLearningDelivery learningDelivery = learner?.LearningDeliveries?.FirstOrDefault(x => x.AimSeqNumberNullable == validationError.AimSequenceNumber);

                validationErrorModels.Add(new ValidationErrorRow()
                {
                    AimSequenceNumber = validationError.AimSequenceNumber,
                    ULN          = learner?.ULNNullable,
                    FamilyName   = learner?.FamilyName,
                    GivenNames   = learner?.GivenNames,
                    ErrorMessage = validationErrorsMetadata.FirstOrDefault(x => x.RuleName.CaseInsensitiveEquals(validationError.RuleName))?.Message,
                    FieldValues  = validationError.ValidationErrorParameters == null
                        ? string.Empty
                        : GetValidationErrorParameters(validationError.ValidationErrorParameters),
                    FundModel               = learningDelivery?.FundModelNullable,
                    LearnAimRef             = learningDelivery?.LearnAimRef,
                    LearnerReferenceNumber  = validationError.LearnerReferenceNumber,
                    PartnerUKPRN            = learningDelivery?.PartnerUKPRNNullable,
                    ProviderSpecDelOccurA   = learningDelivery?.ProviderSpecDeliveryMonitorings?.FirstOrDefault(x => x.ProvSpecDelMonOccur.CaseInsensitiveEquals("A"))?.ProvSpecDelMon,
                    ProviderSpecDelOccurB   = learningDelivery?.ProviderSpecDeliveryMonitorings?.FirstOrDefault(x => x.ProvSpecDelMonOccur.CaseInsensitiveEquals("B"))?.ProvSpecDelMon,
                    ProviderSpecDelOccurC   = learningDelivery?.ProviderSpecDeliveryMonitorings?.FirstOrDefault(x => x.ProvSpecDelMonOccur.CaseInsensitiveEquals("C"))?.ProvSpecDelMon,
                    ProviderSpecDelOccurD   = learningDelivery?.ProviderSpecDeliveryMonitorings?.FirstOrDefault(x => x.ProvSpecDelMonOccur.CaseInsensitiveEquals("D"))?.ProvSpecDelMon,
                    ProviderSpecLearnOccurA = learner?.ProviderSpecLearnerMonitorings?.FirstOrDefault(x => x.ProvSpecLearnMonOccur.CaseInsensitiveEquals("A"))?.ProvSpecLearnMon,
                    ProviderSpecLearnOccurB = learner?.ProviderSpecLearnerMonitorings?.FirstOrDefault(x => x.ProvSpecLearnMonOccur.CaseInsensitiveEquals("B"))?.ProvSpecLearnMon,
                    RuleName   = validationError.RuleName,
                    SWSupAimId = learningDelivery?.SWSupAimId,
                    Severity   = validationError.Severity
                });
            }

            return(validationErrorModels
                   .OrderBy(e => e.Severity)
                   .ThenBy(e => e.RuleName));
        }
コード例 #2
0
 public ProviderSpecDeliveryMonitoring BuildProviderSpecDeliveryMonitoring(int ukprn, ILooseLearner learner, ILooseLearningDelivery learningDelivery, ILooseProviderSpecDeliveryMonitoring monitoring, int learnerDeliveryId, int providerSpecDeliveryMonitoringId)
 {
     return(new ProviderSpecDeliveryMonitoring
     {
         ProviderSpecDeliveryMonitoring_Id = providerSpecDeliveryMonitoringId,
         LearningDelivery_Id = learnerDeliveryId,
         AimSeqNumber = learningDelivery.AimSeqNumberNullable,
         LearnRefNumber = learner.LearnRefNumber,
         ProvSpecDelMon = monitoring.ProvSpecDelMon,
         ProvSpecDelMonOccur = monitoring.ProvSpecDelMonOccur,
         UKPRN = ukprn
     });
 }
コード例 #3
0
 public LearningDeliveryWorkPlacement BuildLearningDeliveryWorkPlacement(int ukprn, ILooseLearner learner, ILooseLearningDelivery learningDelivery, ILooseLearningDeliveryWorkPlacement learningDeliveryWorkPlacement, int learnerDeliveryId, int learningDeliveryWorkPlacementId)
 {
     return(new LearningDeliveryWorkPlacement
     {
         LearningDeliveryWorkPlacement_Id = learningDeliveryWorkPlacementId,
         LearningDelivery_Id = learnerDeliveryId,
         AimSeqNumber = learningDelivery.AimSeqNumberNullable,
         UKPRN = ukprn,
         LearnRefNumber = learner.LearnRefNumber,
         WorkPlaceEmpId = learningDeliveryWorkPlacement.WorkPlaceEmpIdNullable.GetValueOrDefault(-1),
         WorkPlaceEndDate = learningDeliveryWorkPlacement.WorkPlaceEndDateNullable,
         WorkPlaceHours = learningDeliveryWorkPlacement.WorkPlaceHoursNullable,
         WorkPlaceMode = learningDeliveryWorkPlacement.WorkPlaceModeNullable,
         WorkPlaceStartDate = learningDeliveryWorkPlacement.WorkPlaceStartDateNullable
     });
 }
コード例 #4
0
 public LearningDeliveryHE BuildLearningDeliveryHERecord(int ukprn, ILooseLearner learner, ILooseLearningDelivery learningDelivery, ILooseLearningDeliveryHE looseLearningDeliveryHe, int learningDeliveryHEId)
 {
     return(new LearningDeliveryHE
     {
         LearningDeliveryHE_Id = learningDeliveryHEId,
         AimSeqNumber = learningDelivery.AimSeqNumberNullable,
         UKPRN = ukprn,
         LearnRefNumber = learner.LearnRefNumber,
         DOMICILE = looseLearningDeliveryHe.DOMICILE,
         ELQ = looseLearningDeliveryHe.ELQNullable,
         FUNDCOMP = looseLearningDeliveryHe.FUNDCOMPNullable,
         FUNDLEV = looseLearningDeliveryHe.FUNDLEVNullable,
         GROSSFEE = looseLearningDeliveryHe.GROSSFEENullable,
         HEPostCode = looseLearningDeliveryHe.HEPostCode,
         MODESTUD = looseLearningDeliveryHe.MODESTUDNullable,
         MSTUFEE = looseLearningDeliveryHe.MSTUFEENullable,
         NETFEE = looseLearningDeliveryHe.NETFEENullable,
         NUMHUS = looseLearningDeliveryHe.NUMHUS,
         PCFLDCS = (double?)looseLearningDeliveryHe.PCFLDCSNullable,
         PCOLAB = (double?)looseLearningDeliveryHe.PCOLABNullable,
         PCSLDCS = (double?)looseLearningDeliveryHe.PCSLDCSNullable,
         PCTLDCS = (double?)looseLearningDeliveryHe.PCTLDCSNullable,
         QUALENT3 = looseLearningDeliveryHe.QUALENT3,
         SEC = looseLearningDeliveryHe.SECNullable,
         SOC2000 = looseLearningDeliveryHe.SOC2000Nullable,
         SPECFEE = looseLearningDeliveryHe.SPECFEENullable,
         SSN = looseLearningDeliveryHe.SSN,
         STULOAD = (double?)looseLearningDeliveryHe.STULOADNullable,
         TYPEYR = looseLearningDeliveryHe.TYPEYRNullable,
         UCASAPPID = looseLearningDeliveryHe.UCASAPPID,
         YEARSTU = looseLearningDeliveryHe.YEARSTUNullable
     });
 }
コード例 #5
0
 public LearningDeliveryFAM BuildLearningDeliveryFAMRecord(int ukprn, ILooseLearner learner, ILooseLearningDelivery learningDelivery, ILooseLearningDeliveryFAM learningDeliveryFam, int learnerDeliveryId, int learnerDeliveryFamId)
 {
     return(new LearningDeliveryFAM
     {
         LearningDeliveryFAM_Id = learnerDeliveryFamId,
         LearningDelivery_Id = learnerDeliveryId,
         UKPRN = ukprn,
         LearnRefNumber = learner.LearnRefNumber,
         AimSeqNumber = learningDelivery.AimSeqNumberNullable,
         LearnDelFAMCode = learningDeliveryFam.LearnDelFAMCode,
         LearnDelFAMDateFrom = learningDeliveryFam.LearnDelFAMDateFromNullable,
         LearnDelFAMDateTo = learningDeliveryFam.LearnDelFAMDateToNullable,
         LearnDelFAMType = learningDeliveryFam.LearnDelFAMType
     });
 }
コード例 #6
0
 public AppFinRecord BuildLearningDeliveryAppFinRecord(int ukprn, ILooseLearner learner, ILooseLearningDelivery learningDelivery, ILooseAppFinRecord appFinRecord, int learnerDeliveryId, int appFinRecordId)
 {
     return(new AppFinRecord
     {
         AppFinRecord_Id = appFinRecordId,
         LearningDelivery_Id = learnerDeliveryId,
         LearnRefNumber = learner.LearnRefNumber,
         UKPRN = ukprn,
         AFinAmount = appFinRecord.AFinAmountNullable,
         AFinCode = appFinRecord.AFinCodeNullable,
         AFinDate = appFinRecord.AFinDateNullable,
         AFinType = appFinRecord.AFinType,
         AimSeqNumber = learningDelivery.AimSeqNumberNullable
     });
 }
コード例 #7
0
 public LearningDelivery BuildLearningDelivery(int ukprn, ILooseLearner learner, ILooseLearningDelivery learningDelivery, int learnerId, int deliveryId)
 {
     return(new LearningDelivery
     {
         Learner_Id = learnerId,
         LearningDelivery_Id = deliveryId,
         UKPRN = ukprn,
         LearnRefNumber = learner.LearnRefNumber,
         LearnAimRef = learningDelivery.LearnAimRef,
         AimSeqNumber = learningDelivery.AimSeqNumberNullable,
         AchDate = learningDelivery.AchDateNullable,
         AddHours = learningDelivery.AddHoursNullable,
         AimType = learningDelivery.AimTypeNullable,
         CompStatus = learningDelivery.CompStatusNullable,
         ConRefNumber = learningDelivery.ConRefNumber,
         DelLocPostCode = learningDelivery.DelLocPostCode,
         EmpOutcome = learningDelivery.EmpOutcomeNullable,
         EPAOrgID = learningDelivery.EPAOrgID,
         FundModel = learningDelivery.FundModelNullable,
         FworkCode = learningDelivery.FworkCodeNullable,
         LearnActEndDate = learningDelivery.LearnActEndDateNullable,
         LearnPlanEndDate = learningDelivery.LearnPlanEndDateNullable,
         LearnStartDate = learningDelivery.LearnStartDateNullable,
         LSDPostcode = learningDelivery.LSDPostcode,
         OrigLearnStartDate = learningDelivery.OrigLearnStartDateNullable,
         OtherFundAdj = learningDelivery.OtherFundAdjNullable,
         OTJActHours = learningDelivery.OtjActHoursNullable,
         OutGrade = learningDelivery.OutGrade,
         Outcome = learningDelivery.OutcomeNullable,
         PartnerUKPRN = learningDelivery.PartnerUKPRNNullable,
         PHours = learningDelivery.PHoursNullable,
         PriorLearnFundAdj = learningDelivery.PriorLearnFundAdjNullable,
         ProgType = learningDelivery.ProgTypeNullable,
         PwayCode = learningDelivery.PwayCodeNullable,
         StdCode = learningDelivery.StdCodeNullable,
         SWSupAimId = learningDelivery.SWSupAimId,
         WithdrawReason = learningDelivery.WithdrawReasonNullable
     });
 }