package org.ei.drishti.mapper;
import ch.lambdaj.function.convert.Converter;
import org.ei.drishti.domain.register.ANCRegister;
import org.ei.drishti.domain.register.ANCRegisterEntry;
import org.ei.drishti.dto.register.ANCRegisterDTO;
import org.ei.drishti.dto.register.ANCRegisterEntryDTO;
import org.springframework.stereotype.Component;
import java.util.List;
import static ch.lambdaj.collection.LambdaCollections.with;
@Component
public class ANCRegisterMapper {
public ANCRegisterDTO mapToDTO(ANCRegister ancRegister) {
List<ANCRegisterEntryDTO> ancRegisterEntryDTOs =
with(ancRegister.ancRegisterEntries())
.convert(new Converter<ANCRegisterEntry, ANCRegisterEntryDTO>() {
@Override
public ANCRegisterEntryDTO convert(ANCRegisterEntry entry) {
return new ANCRegisterEntryDTO()
.withANCNumber(entry.ancNumber())
.withRegistrationDate(entry.registrationDate())
.withECNumber(entry.ecNumber())
.withThayiCardNumber(entry.thayiCardNumber())
.withAadharCardNumber(entry.aadharCardNumber())
.withWifeName(entry.wifeName())
.withHusbandName(entry.husbandName())
.withAddress(entry.address())
.withWifeDOB(entry.wifeDOB())
.withPhoneNumber(entry.phoneNumber())
.withWifeEducationLevel(entry.wifeEducationLevel())
.withHusbandEducationLevel(entry.husbandEducationLevel())
.withCaste(entry.caste())
.withReligion(entry.religion())
.withEconomicStatus(entry.economicStatus())
.withBPLCardNumber(entry.bplCardNumber())
.withJSYBeneficiary(entry.jsyBeneficiary())
.withGravida(entry.gravida())
.withParity(entry.parity())
.withNumberOfLivingChildren(entry.numberOfLivingChildren())
.withNumberOfStillBirths(entry.numberOfStillBirths())
.withNumberOfAbortions(entry.numberOfAbortions())
.withYoungestChildDOB(entry.youngestChildDOB())
.withLMP(entry.lmp())
.withEDD(entry.edd())
.withHeight(entry.height())
.withBloodGroup(entry.bloodGroup())
.withIsHRP(entry.isHRP())
.withHBTests(entry.hbTests())
.withANCInvestigations(entry.ancInvestigations())
.withANCVisits(entry.ancVisits())
.withIFATablets(entry.ifaTablets())
.withTTDoses(entry.ttDoses());
}
});
return new ANCRegisterDTO(ancRegisterEntryDTOs);
}
}