From 23a46b4be35277e06ec89f48730eeb694e686be8 Mon Sep 17 00:00:00 2001
From: Kenmegne <stephanie.kenmegne@gmail.com>
Date: Thu, 18 Jun 2026 15:40:06 +0000
Subject: [PATCH] add fdx-commons and fdx-consultation
---
fdx-consultation/fdxconsultation-core-ifaces/src/main/java/com/megatim/fdxconsultation/core/ifaces/abtracts/GeneriConsultingManagerIFaces.java | 89 ++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 89 insertions(+), 0 deletions(-)
diff --git a/fdx-consultation/fdxconsultation-core-ifaces/src/main/java/com/megatim/fdxconsultation/core/ifaces/abtracts/GeneriConsultingManagerIFaces.java b/fdx-consultation/fdxconsultation-core-ifaces/src/main/java/com/megatim/fdxconsultation/core/ifaces/abtracts/GeneriConsultingManagerIFaces.java
new file mode 100644
index 0000000..bb37122
--- /dev/null
+++ b/fdx-consultation/fdxconsultation-core-ifaces/src/main/java/com/megatim/fdxconsultation/core/ifaces/abtracts/GeneriConsultingManagerIFaces.java
@@ -0,0 +1,89 @@
+/*
+ * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
+ * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Interface.java to edit this template
+ */
+package com.megatim.fdxconsultation.core.ifaces.abtracts;
+
+import com.bekosoftware.genericdaolayer.dao.tools.RestrictionsContainer;
+import com.bekosoftware.genericmanagerlayer.core.ifaces.GenericManager;
+import com.megatim.common.annotations.OrderType;
+import com.megatim.fdxcommons.model.enumeration.TypeOperation;
+import com.megatim.fdxconsultation.model.administration.User;
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ *
+ * @author ASUS
+ */
+public interface GeneriConsultingManagerIFaces<T, K, S, ID extends Serializable, U> extends GenericManager<T, ID> {
+
+ K mapToDto(T entity);
+
+ S mapToDetailDto(T entity);
+
+ public abstract String getEntityIdName();
+
+ public S getById(ID id);
+
+ public default List<K> convertListToDto(List<T> datas) {
+ List<K> dtos = new ArrayList<>();
+
+ if (datas != null) {
+ for (T data : datas) {
+ dtos.add(mapToDto(data));
+ }
+ }
+ return dtos;
+ }
+
+ public default List<K> getWithPagination(Integer pageNumber, Integer pagesize, U searchEntity, User connectedUser) {
+
+ Map<String, OrderType> orders = new HashMap<>();
+
+ //On trie par id
+ orders.put(getEntityIdName(), OrderType.DESC);
+ //On construit la requete
+ RestrictionsContainer requeteur = construireRequete(searchEntity, TypeOperation.AJOUTER);
+
+ //Construction de l'index
+ int index = (pageNumber - 1) * pagesize;
+
+ //On on recherche l'entité
+ List<T> datas = filter(requeteur.getPredicats(), orders, null, index, pagesize);
+ List<K> dtos = convertListToDto(datas);
+
+ return dtos;
+ }
+
+ public default List<K> getAll(U searchEntity, User connectedUser) {
+
+ //On construit la requete
+ RestrictionsContainer requeteur = construireRequete(searchEntity, TypeOperation.AJOUTER);
+ Map<String, OrderType> orders = new HashMap<>();
+
+ //On trie par id
+ orders.put(getEntityIdName(), OrderType.DESC);
+
+ //On on recherche l'entité
+ List<T> datas = filter(requeteur.getPredicats(), orders, null, 0, -1);
+ List<K> dtos = convertListToDto(datas);
+
+ return dtos;
+
+ }
+
+ public default Long size(U searchEntity) {
+ //On construit la requete
+ RestrictionsContainer requeteur = construireRequete(searchEntity, TypeOperation.AJOUTER);
+
+ //On on recherche l'entité
+ return count(requeteur.getPredicats());
+ }
+
+ public abstract RestrictionsContainer construireRequete(U searchEntity, TypeOperation typeOperation);
+
+}
--
Gitblit v1.10.0