64 lines
2.4 KiB
Java
64 lines
2.4 KiB
Java
package fr.titionfire.ffsaf.domain.entity;
|
|
|
|
import fr.titionfire.ffsaf.data.model.CompetitionGuestModel;
|
|
import fr.titionfire.ffsaf.data.model.MembreModel;
|
|
import fr.titionfire.ffsaf.data.model.RegisterModel;
|
|
import fr.titionfire.ffsaf.utils.Categorie;
|
|
import fr.titionfire.ffsaf.utils.Genre;
|
|
import io.quarkus.runtime.annotations.RegisterForReflection;
|
|
import lombok.AllArgsConstructor;
|
|
import lombok.Data;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.List;
|
|
import java.util.stream.Stream;
|
|
|
|
@Data
|
|
@AllArgsConstructor
|
|
@RegisterForReflection
|
|
public class CombEntity {
|
|
private long id;
|
|
private String lname;
|
|
private String fname;
|
|
Categorie categorie;
|
|
String club_uuid;
|
|
String club_str;
|
|
Genre genre;
|
|
String country;
|
|
int overCategory;
|
|
Integer weight;
|
|
List<CombEntity> teamMembers;
|
|
|
|
public static CombEntity fromModel(MembreModel model) {
|
|
if (model == null)
|
|
return null;
|
|
|
|
return new CombEntity(model.getId(), model.getLname(), model.getFname(), model.getCategorie(),
|
|
model.getClub() == null ? null : model.getClub().getClubId(),
|
|
model.getClub() == null ? "Sans club" : model.getClub().getName(), model.getGenre(), model.getCountry(),
|
|
0, null, new ArrayList<>());
|
|
}
|
|
|
|
|
|
public static CombEntity fromModel(CompetitionGuestModel model) {
|
|
if (model == null)
|
|
return null;
|
|
|
|
return new CombEntity(model.getId() * -1, model.getLname(), model.getFname(), model.getCategorie(), null,
|
|
model.getClub(), model.getGenre(), model.getCountry(), 0, model.getWeight(),
|
|
Stream.concat(model.getComb().stream().map(CombEntity::fromModel),
|
|
model.getGuest().stream().map(CombEntity::fromModel)).toList());
|
|
}
|
|
|
|
public static CombEntity fromModel(RegisterModel registerModel) {
|
|
if (registerModel == null || registerModel.getMembre() == null)
|
|
return null;
|
|
MembreModel model = registerModel.getMembre();
|
|
|
|
return new CombEntity(model.getId(), model.getLname(), model.getFname(), registerModel.getCategorie(),
|
|
registerModel.getClub2() == null ? null : registerModel.getClub2().getClubId(),
|
|
registerModel.getClub2() == null ? "Sans club" : registerModel.getClub2().getName(), model.getGenre(),
|
|
model.getCountry(), registerModel.getOverCategory(), registerModel.getWeight(), new ArrayList<>());
|
|
}
|
|
}
|