ClaimToClaimDTOConverter.java
package uk.gov.dhsc.htbhf.claimant.converter;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Component;
import uk.gov.dhsc.htbhf.claimant.entity.Claim;
import uk.gov.dhsc.htbhf.claimant.entity.Claimant;
import uk.gov.dhsc.htbhf.claimant.model.AddressDTO;
import uk.gov.dhsc.htbhf.claimant.model.ClaimDTO;
import uk.gov.dhsc.htbhf.claimant.model.ClaimantDTO;
@Component
@AllArgsConstructor
public class ClaimToClaimDTOConverter {
private final AddressToAddressDTOConverter addressToAddressDTOConverter;
private final EligibilityOverrideToEligibilityOverrideDTOConverter eligibilityOverrideDTOConverter;
public ClaimDTO convert(Claim claim) {
return ClaimDTO.builder()
.id(claim.getId())
.cardAccountId(claim.getCardAccountId())
.cardStatus(claim.getCardStatus())
.cardStatusTimestamp(claim.getCardStatusTimestamp())
.claimStatus(claim.getClaimStatus())
.claimStatusTimestamp(claim.getClaimStatusTimestamp())
.currentIdentityAndEligibilityResponse(claim.getCurrentIdentityAndEligibilityResponse())
.dwpHouseholdIdentifier(claim.getDwpHouseholdIdentifier())
.eligibilityStatus(claim.getEligibilityStatus())
.eligibilityStatusTimestamp(claim.getEligibilityStatusTimestamp())
.hmrcHouseholdIdentifier(claim.getHmrcHouseholdIdentifier())
.initialIdentityAndEligibilityResponse(claim.getInitialIdentityAndEligibilityResponse())
.claimant(convert(claim.getClaimant()))
.eligibilityOverride(eligibilityOverrideDTOConverter.convert(claim.getEligibilityOverride()))
.reference(claim.getReference())
.build();
}
private ClaimantDTO convert(Claimant claimant) {
AddressDTO addressDTO = addressToAddressDTOConverter.convert(claimant.getAddress());
return ClaimantDTO.builder()
.initiallyDeclaredChildrenDob(claimant.getInitiallyDeclaredChildrenDob())
.dateOfBirth(claimant.getDateOfBirth())
.expectedDeliveryDate(claimant.getExpectedDeliveryDate())
.address(addressDTO)
.emailAddress(claimant.getEmailAddress())
.firstName(claimant.getFirstName())
.lastName(claimant.getLastName())
.nino(claimant.getNino())
.phoneNumber(claimant.getPhoneNumber())
.build();
}
}