Ver código fonte

Transformer usager

Arthur Brandao 5 anos atrás
pai
commit
641e85710f

+ 56 - 0
src/microfolie/service/transformer/UsagerTransformer.java

@@ -1,5 +1,61 @@
 package microfolie.service.transformer;
 
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Optional;
+
+import microfolie.persistance.entity.Usager;
+import microfolie.persistance.entity.Ville;
+import microfolie.persistance.table.VilleTable;
+import microfolie.service.dto.UsagerDTO;
+
 public class UsagerTransformer {
+	
+	private static VilleTable villeTable = VilleTable.getInstance();
+	
+	public static Usager dtoToEntity(UsagerDTO dto) {
+		Usager usager = new Usager();
+		usager.prenom = dto.prenom;
+		usager.nom = dto.nom;
+		usager.dateNaiss = dto.dateNaissance;
+		usager.email = dto.email;
+		usager.telephone = dto.telephone;
+		usager.contactUrgence = dto.contactUrgence;
+		usager.code = dto.code;
+		// Cherche la ville correspondante au nom
+		Optional<Ville> optVille = villeTable.findByLibelle(dto.ville);
+		if (optVille.isPresent()) {
+			usager.ville = optVille.get();
+		}
+		return usager;
+	}
+	
+	public static List<Usager> dtoToEntity(List<UsagerDTO> dto) {
+		List<Usager> result = new ArrayList<>();
+		dto.forEach(elt -> result.add(dtoToEntity(elt)));
+		return result;
+	}
+	
+	public static UsagerDTO entityToDto(Usager usager) {
+		UsagerDTO dto = new UsagerDTO();
+		dto.prenom = usager.prenom;
+		dto.nom = usager.nom;
+		dto.dateNaissance = usager.dateNaiss;
+		dto.email = usager.email;
+		dto.telephone = usager.telephone;
+		dto.contactUrgence = usager.contactUrgence;
+		dto.code = usager.code;
+		// Si il y a une ville
+		if (usager.ville != null) {
+			dto.ville = usager.ville.libelle;
+		}
+		return dto;
+	}
+	
+	public static List<UsagerDTO> entityToDto(List<Usager> usager) {
+		List<UsagerDTO> result = new ArrayList<>();
+		usager.forEach(elt -> result.add(entityToDto(elt)));
+		return result;
+	}
 
 }