DistributeurService.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.repositories.catalogue.DistributeurCatalogueRepository;
import com.sintia.ffl.admin.optique.services.dto.FabricantDistributeur;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.time.LocalDateTime;

@Service
public class DistributeurService {

	@Autowired
	private DistributeurCatalogueRepository distributeurRepository;

	/**
	 * Return true if a Distibuteur already exists in the database with the same cOptoCodeDistributeur
	 *
	 * @param cOptoCodeDistributeur
	 * @return
	 */
	public boolean exist(String cOptoCodeDistributeur) {

		if (cOptoCodeDistributeur == null) {
			return false;
		}

		return distributeurRepository.findBycOptoCodeDistributeur(cOptoCodeDistributeur).isPresent();
	}
	
	public DistributeurCatalogue getDistributeur(String cOptoCodeDistributeur) {
		return distributeurRepository
				.findBycOptoCodeDistributeur(cOptoCodeDistributeur)
				.orElse(null);
	}

	/**
	 * @param makerProvider
	 * @param creationDate
	 * @return
	 */
	public DistributeurCatalogue addProvider(FabricantDistributeur makerProvider, LocalDateTime creationDate) {

		DistributeurCatalogue provider = new DistributeurCatalogue(makerProvider.getCFabricant(), makerProvider.getLDistributeur(), creationDate, creationDate, makerProvider.getCOptoCodeDistributeur(),true);

		return distributeurRepository.save(provider);
	}
	
}