package fr.titionfire.ffsaf.domain.entity; import fr.titionfire.ffsaf.data.model.MatchModel; import fr.titionfire.ffsaf.utils.ScoreEmbeddable; import io.quarkus.runtime.annotations.RegisterForReflection; import lombok.AllArgsConstructor; import lombok.Data; import java.util.ArrayList; import java.util.Date; import java.util.List; @Data @AllArgsConstructor @RegisterForReflection public class MatchEntity { private long id; private CombEntity c1; private CombEntity c2; private long categorie_ord = 0; private boolean isEnd; private long categorie; private Date date; private List scores; private char poule; private List cardboard; public static MatchEntity fromModel(MatchModel model) { if (model == null) return null; return new MatchEntity(model.getId(), (model.getC1_id() == null) ? CombEntity.fromModel(model.getC1_guest()) : CombEntity.fromModel( model.getC1_id()), (model.getC2_id() == null) ? CombEntity.fromModel(model.getC2_guest()) : CombEntity.fromModel( model.getC2_id()), model.getCategory_ord(), model.isEnd(), model.getCategory().getId(), model.getDate(), model.getScores(), model.getPoule(), (model.getCardboard() == null) ? new ArrayList<>() : model.getCardboard().stream() .map(CardboardEntity::fromModel).toList()); } public int win() { int sum = 0; for (ScoreEmbeddable score : scores) { if (score.getS1() == -1000 || score.getS2() == -1000) continue; if (score.getS1() > score.getS2()) sum++; else if (score.getS1() < score.getS2()) sum--; } return sum; } }