private static IRespondWithEzScore GetDetail(Detail detail, EzScoreRecord record)
 {
     return detail == null
         ? record
         : record.WithDetail(detail.DemLSM, detail.FASNonCPAGroupDescriptionShort, detail.MosaicCPAGroupMerged, detail.WealthIndex,
             detail.CreditGradeNonCPA, detail.DemHomeOwner, detail.DemDeceased,
             detail.DemPredictedRace, detail.DemGender, detail.PostalAddressPostCode, detail.PostalAddressProvince,
             detail.PostalAddressTownCity, detail.PostalAddressSuburb, detail.PostalAddressLine2, detail.PostalAddressLine1,
             detail.AddressPostCode, detail.AddressProvince, detail.AddressTownCity, detail.AddressSuburb, detail.AddressLine2,
             detail.AddressLine1, detail.ExtractDate);
 }
        public IRespondWithEzScore Build()
        {
            var ezScoreRecord = new EzScoreRecord();
            ezScoreRecord.WithHeader(_phone1, _phone2, _phone3, _emailAddress1, _emailAddress2, _emailAddress3, _surname, _firstName, _idNumber);
            ezScoreRecord.WithDetail(_demLsm, _fasNonCpaGroupDescriptionShort, _mosaicCpaGroupMerged, _wealthIndex,
                _creditGradeNonCpa, _demHomeOwner, _demDeceased, _demPredictedRace, _demGender, _postalAddressPostCode,
                _postalAddressProvince, _postalAddressTownCity, _postalAddressSuburb, _postalAddressLine2,
                _postalAddressLine1, _addressPostCode, _addressProvince, _addressTownCity, _addressSuburb, _addressLine2,
                _addressLine1, _extractDate);

            return ezScoreRecord;
        }
 private static EzScoreRecord GetHeader(Header header)
 {
     var record = new EzScoreRecord();
     return header == null ? record : record.WithHeader(header.Phone1, header.Phone2, header.Phone3, header.EmailAddress1, header.EmailAddress2,
         header.EmailAddress3, header.Surname, header.FirstName, header.IDNumber);
 }