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)); }
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 }); }
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 }); }
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 }); }
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 }); }
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 }); }
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 }); }