private string GetLegalEntityName(string ruleName, DasApprenticeshipInfo dasApprenticeshipInfo) { if (_rulesWithBlankLegalEntityValues.Any(x => x.CaseInsensitiveEquals(ruleName))) { return(string.Empty); } return(dasApprenticeshipInfo?.LegalEntityName ?? string.Empty); }
private string GetApprenticeshipServiceValue(string ruleName, DasApprenticeshipInfo dasApprenticeshipInfo) { if (_rulesWithBlankApprenticeshipValues.Any(x => x.CaseInsensitiveEquals(ruleName))) { return(string.Empty); } if (ruleName.CaseInsensitiveEquals(DataLockValidationErrorIdConstants.DLOCK_01)) { return(dasApprenticeshipInfo?.UkPrn.ToString()); } if (ruleName.CaseInsensitiveEquals(DataLockValidationErrorIdConstants.DLOCK_03)) { return(dasApprenticeshipInfo?.StandardCode?.ToString()); } if (ruleName.CaseInsensitiveEquals(DataLockValidationErrorIdConstants.DLOCK_04)) { return(dasApprenticeshipInfo?.FrameworkCode?.ToString()); } if (ruleName.CaseInsensitiveEquals(DataLockValidationErrorIdConstants.DLOCK_05)) { return(dasApprenticeshipInfo?.ProgrammeType?.ToString()); } if (ruleName.CaseInsensitiveEquals(DataLockValidationErrorIdConstants.DLOCK_06)) { return(dasApprenticeshipInfo?.PathwayCode?.ToString()); } if (ruleName.CaseInsensitiveEquals(DataLockValidationErrorIdConstants.DLOCK_07)) { return(dasApprenticeshipInfo?.Cost.ToString(CultureInfo.InvariantCulture)); } if (ruleName.CaseInsensitiveEquals(DataLockValidationErrorIdConstants.DLOCK_10)) { return(dasApprenticeshipInfo?.WithdrawnOnDate?.ToString("dd/MM/yyyy")); } if (ruleName.CaseInsensitiveEquals(DataLockValidationErrorIdConstants.DLOCK_12)) { return(dasApprenticeshipInfo?.PausedOnDate?.ToString("dd/MM/yyyy")); } return(string.Empty); }
public IEnumerable <DataMatchModel> BuildExternalModels( ICollection <DataMatchLearner> dataMatchLearners, ICollection <AECApprenticeshipPriceEpisodeInfo> priceEpisodes, ICollection <DataLockValidationError> dataLockValidationErrors, ICollection <DasApprenticeshipInfo> dasApprenticeshipInfos, long jobId) { List <DataMatchModel> dataMatchModels = new List <DataMatchModel>(); foreach (var dataLockValidationError in dataLockValidationErrors) { DataMatchLearner learner = dataMatchLearners.SingleOrDefault( x => x.LearnRefNumber.CaseInsensitiveEquals(dataLockValidationError.LearnerReferenceNumber) && x.DataMatchLearningDeliveries.Any(ld => ld.AimSeqNumber == dataLockValidationError.AimSeqNumber)); if (learner == null) { continue; } AECApprenticeshipPriceEpisodeInfo matchedRulebaseInfo = priceEpisodes.LastOrDefault(x => x.LearnRefNumber.CaseInsensitiveEquals(dataLockValidationError.LearnerReferenceNumber)); DasApprenticeshipInfo matchedDasPriceInfo = dasApprenticeshipInfos.FirstOrDefault(x => x.LearnerUln == dataLockValidationError.LearnerUln); string ruleName = PopulateRuleName(dataLockValidationError.RuleId); DataMatchModel dataMatchModel = new DataMatchModel { LearnRefNumber = dataLockValidationError.LearnerReferenceNumber, Uln = learner.Uln, AimSeqNumber = dataLockValidationError.AimSeqNumber, RuleName = ruleName, Description = _dataLockValidationMessageService.ErrorMessageForRule(ruleName), ILRValue = GetILRValue(ruleName, learner, dataLockValidationError.AimSeqNumber, jobId), ApprenticeshipServiceValue = GetApprenticeshipServiceValue(ruleName, matchedDasPriceInfo), PriceEpisodeStartDate = matchedRulebaseInfo?.EpisodeStartDate?.ToString("dd/MM/yyyy"), PriceEpisodeActualEndDate = matchedRulebaseInfo?.PriceEpisodeActualEndDate?.ToString("dd/MM/yyyy"), PriceEpisodeIdentifier = matchedRulebaseInfo?.PriceEpisodeAgreeId, LegalEntityName = GetLegalEntityName(ruleName, matchedDasPriceInfo), }; dataMatchModels.Add(dataMatchModel); } return(dataMatchModels); }