Beispiel #1
0
        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()
            });
        }