DistributeurFabricantAssoService.java
package com.sintia.ffl.admin.optique.services.services;
import com.sintia.ffl.admin.optique.dal.entities.catalogue.DistributeurCatalogue;
import com.sintia.ffl.admin.optique.dal.entities.catalogue.DistributeurFabricantAssoCatalogue;
import com.sintia.ffl.admin.optique.dal.entities.catalogue.FabricantCatalogue;
import com.sintia.ffl.admin.optique.dal.repositories.catalogue.DistributeurFabricantAssoCatalogueRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.sql.Timestamp;
import java.time.LocalDateTime;
import java.util.List;
@Service
public class DistributeurFabricantAssoService {
	@Autowired
	private DistributeurFabricantAssoCatalogueRepository distributeurFabricantAssoRepository;
	/**
	 * Return true if there's at least 1 association distributeur / fabricant in the database with the same cOptoCodeDistributeur / cOptoCodeFabricant
	 * @param cOptoCodeDistributeur Code opto distributeur
	 * @param cOptoCodeFabricant Code opto fabricant
	 * @return true si une association existe déjà, false sinon
	 */
	public boolean existAtLeastOne(String cOptoCodeDistributeur, String cOptoCodeFabricant) {
		if (cOptoCodeDistributeur == null || cOptoCodeFabricant == null) {
			return false;
		}
		List<DistributeurFabricantAssoCatalogue> result = distributeurFabricantAssoRepository
				.findByCodeOptoDistributeurAndCodeOptoFabricant(cOptoCodeDistributeur, cOptoCodeFabricant);
		return result != null && !result.isEmpty();
	}
	
	public DistributeurFabricantAssoCatalogue addAssociation(FabricantCatalogue maker, DistributeurCatalogue provider, LocalDateTime creationDate) {
		Timestamp creationTimestamp = Timestamp.valueOf(creationDate);
		DistributeurFabricantAssoCatalogue asso = new DistributeurFabricantAssoCatalogue(maker.getIdFabricant(), provider.getIdDistributeur(), creationTimestamp.toLocalDateTime(), creationTimestamp.toLocalDateTime(), "0");
		
		return distributeurFabricantAssoRepository.save(asso);
	}
	
}