public LearnerFAMDenormalized BuildLearnerFAMDenormalized(IEnumerable <ILearnerFAM> learnerFams)
        {
            var learnerFam = new LearnerFAMDenormalized();

            if (learnerFams != null)
            {
                learnerFams = learnerFams.ToList();

                var edfArray = learnerFams.Where(f => f.LearnFAMType == Attributes.EDF).Select(f => (int?)f.LearnFAMCode).ToArray();

                Array.Resize(ref edfArray, 2);

                learnerFam.ECF  = learnerFams.Where(f => f.LearnFAMType == Attributes.ECF).Select(f => (int?)f.LearnFAMCode).FirstOrDefault();
                learnerFam.EDF1 = edfArray[0];
                learnerFam.EDF2 = edfArray[1];
                learnerFam.EHC  = learnerFams.Where(f => f.LearnFAMType == Attributes.EHC).Select(f => (int?)f.LearnFAMCode).FirstOrDefault();
                learnerFam.HNS  = learnerFams.Where(f => f.LearnFAMType == Attributes.HNS).Select(f => (int?)f.LearnFAMCode).FirstOrDefault();
                learnerFam.MCF  = learnerFams.Where(f => f.LearnFAMType == Attributes.MCF).Select(f => (int?)f.LearnFAMCode).FirstOrDefault();
            }

            return(learnerFam);
        }
        private LearnerFAMDenormalized BuildLearnerFAMDenormalized(IEnumerable <ILearnerFAM> learnerFams)
        {
            var learnerFam = new LearnerFAMDenormalized();

            if (learnerFams != null)
            {
                learnerFams = learnerFams.ToList();

                var edfArray = learnerFams.Where(f => f.LearnFAMType.CaseInsensitiveEquals(LearnerPagingConstants.LearnerFAMTypeEDF)).Select(f => (int?)f.LearnFAMCode).ToArray();

                Array.Resize(ref edfArray, 2);

                learnerFam.ECF  = learnerFams.Where(f => f.LearnFAMType.CaseInsensitiveEquals(LearnerPagingConstants.LearnerFAMTypeECF)).Select(f => (int?)f.LearnFAMCode).FirstOrDefault();
                learnerFam.EDF1 = edfArray[0];
                learnerFam.EDF2 = edfArray[1];
                learnerFam.EHC  = learnerFams.Where(f => f.LearnFAMType.CaseInsensitiveEquals(LearnerPagingConstants.LearnerFAMTypeEHC)).Select(f => (int?)f.LearnFAMCode).FirstOrDefault();
                learnerFam.HNS  = learnerFams.Where(f => f.LearnFAMType.CaseInsensitiveEquals(LearnerPagingConstants.LearnerFAMTypeHNS)).Select(f => (int?)f.LearnFAMCode).FirstOrDefault();
                learnerFam.MCF  = learnerFams.Where(f => f.LearnFAMType.CaseInsensitiveEquals(LearnerPagingConstants.LearnerFAMTypeMCF)).Select(f => (int?)f.LearnFAMCode).FirstOrDefault();
            }

            return(learnerFam);
        }