public IDataEntity BuildLearnerDataEntity(FM35LearnerDto learner) { var sfaPostDisadvantage = _postcodesReferenceDataService.SFADisadvantagesForPostcode(learner.PostcodePrior); var specialistResources = _organisationReferenceDataService.SpecialistResourcesForCampusIdentifier(learner.CampId); var learnerEmploymentStatusEntities = learner.LearnerEmploymentStatuses?.Select(BuildLearnerEmploymentStatus) ?? Enumerable.Empty <IDataEntity>(); var learningDeliveryEntities = learner.LearningDeliveries?.Select(BuildLearningDeliveryDataEntity) ?? Enumerable.Empty <IDataEntity>(); var sfaPostDisadvantageEntities = sfaPostDisadvantage?.Select(BuildSFAPostcodeDisadvantage) ?? Enumerable.Empty <IDataEntity>(); var specialistResourcesEntities = specialistResources?.Select(BuildSpecialistResources) ?? Enumerable.Empty <IDataEntity>(); var entity = new DataEntity(Attributes.EntityLearner) { Attributes = new Dictionary <string, IAttributeData>() { { Attributes.LearnRefNumber, new AttributeData(learner.LearnRefNumber) }, { Attributes.DateOfBirth, new AttributeData(learner.DateOfBirth) }, } }; entity.AddChildren(learningDeliveryEntities); entity.AddChildren(learnerEmploymentStatusEntities); entity.AddChildren(sfaPostDisadvantageEntities); entity.AddChildren(specialistResourcesEntities); return(entity); }
public IDataEntity BuildLearnerDataEntity(ILearner learner) { var sfaPostDisadvantage = _postcodesReferenceDataService.SFADisadvantagesForPostcode(learner.PostcodePrior); return(new DataEntity(Attributes.EntityLearner) { Attributes = new Dictionary <string, IAttributeData>() { { Attributes.LearnRefNumber, new AttributeData(learner.LearnRefNumber) }, { Attributes.DateOfBirth, new AttributeData(learner.DateOfBirthNullable) }, }, Children = (learner .LearningDeliveries? .Where(ld => ld.FundModel == _fundModel) .Select(BuildLearningDeliveryDataEntity) ?? new List <IDataEntity>()) .Union( learner.LearnerEmploymentStatuses? .Select(BuildLearnerEmploymentStatus) ?? new List <IDataEntity>()) .Union( sfaPostDisadvantage? .Select(BuildSFAPostcodeDisadvantage) ?? new List <IDataEntity>()) .ToList() }); }