52 lines
2.1 KiB
Java
52 lines
2.1 KiB
Java
package fr.titionfire.ffsaf.rest.data;
|
|
|
|
import fr.titionfire.ffsaf.data.model.CompetitionGuestModel;
|
|
import fr.titionfire.ffsaf.data.model.LicenceModel;
|
|
import fr.titionfire.ffsaf.data.model.MembreModel;
|
|
import fr.titionfire.ffsaf.data.model.RegisterModel;
|
|
import fr.titionfire.ffsaf.net2.data.SimpleClubModel;
|
|
import fr.titionfire.ffsaf.utils.Categorie;
|
|
import fr.titionfire.ffsaf.utils.Genre;
|
|
import fr.titionfire.ffsaf.utils.Utils;
|
|
import io.quarkus.runtime.annotations.RegisterForReflection;
|
|
import lombok.AllArgsConstructor;
|
|
import lombok.Data;
|
|
|
|
import java.util.List;
|
|
|
|
@Data
|
|
@AllArgsConstructor
|
|
@RegisterForReflection
|
|
public class SimpleRegisterComb {
|
|
private long id;
|
|
private String fname;
|
|
private String lname;
|
|
private Genre genre;
|
|
private String country;
|
|
private Categorie categorie;
|
|
private SimpleClubModel club;
|
|
private Integer licence;
|
|
private Integer weight;
|
|
private int overCategory;
|
|
private boolean hasLicenceActive;
|
|
private boolean lockEdit;
|
|
|
|
public static SimpleRegisterComb fromModel(RegisterModel register, List<LicenceModel> licences) {
|
|
MembreModel membreModel = register.getMembre();
|
|
return new SimpleRegisterComb(membreModel.getId(), membreModel.getFname(), membreModel.getLname(),
|
|
membreModel.getGenre(), membreModel.getCountry(),
|
|
(register.getCategorie() == null) ? null : register.getCategorie(),
|
|
SimpleClubModel.fromModel(register.getClub()), membreModel.getLicence(), register.getWeight(),
|
|
register.getOverCategory(),
|
|
licences.stream().anyMatch(l -> l.isValidate() && l.getSaison() == Utils.getSaison()),
|
|
register.isLockEdit());
|
|
}
|
|
|
|
public static SimpleRegisterComb fromModel(CompetitionGuestModel guest) {
|
|
return new SimpleRegisterComb(guest.getId() * -1, guest.getFname(), guest.getLname(),
|
|
guest.getGenre(), guest.getCountry(), guest.getCategorie(),
|
|
new SimpleClubModel(null, guest.getClub(), "fr", null),
|
|
null, guest.getWeight(), 0, false, false);
|
|
}
|
|
}
|