SupplementVerreIteService.java

package com.sintia.ffl.admin.optique.services.services;

import com.sintia.ffl.admin.optique.dal.entities.SupplementVerreIte;
import com.sintia.ffl.admin.optique.dal.entities.catalogue.SupplementVerreCatalogueIte;
import com.sintia.ffl.admin.optique.dal.repositories.SupplementVerreIteRepository;
import com.sintia.ffl.admin.optique.dal.repositories.catalogue.SupplementVerreCatalogueIteRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.time.LocalDateTime;
import java.time.ZoneId;
import java.util.Date;
import java.util.Optional;

@Service
public class SupplementVerreIteService {
	
	@Autowired
	private SupplementVerreCatalogueIteRepository supplementVerreIteRepository;
	
	public boolean deleteSupplement(String codeSupplement, String codeFournisseur , String codeFabricant ,  Date date) {
		
		Optional<SupplementVerreCatalogueIte> supplementVerreIte = supplementVerreIteRepository.findBycodeSupplementVerreAndDistributeurIte_cOptoCodeDistributeurAndFabricantIte_cOptoCodeFabricant(codeSupplement, codeFournisseur, codeFabricant);

		if(supplementVerreIte.isPresent()){
			SupplementVerreCatalogueIte supplementVerreIteToChange = supplementVerreIte.get();
			supplementVerreIteToChange.setDateMaj(LocalDateTime.ofInstant(date.toInstant(), ZoneId.systemDefault()));
			try {
				supplementVerreIteRepository.save(supplementVerreIteToChange);
				return true;
			} catch (Exception e){
				return false;
			}
		} else
			return false;
	}
	
	public SupplementVerreCatalogueIte exist(String codeSupplement, String codeFabricant, String codeFournisseur) {
		Optional<SupplementVerreCatalogueIte> supplementVerreIte = supplementVerreIteRepository.findBycodeSupplementVerreAndDistributeurIte_cOptoCodeDistributeurAndFabricantIte_cOptoCodeFabricant(codeSupplement, codeFournisseur, codeFabricant);
		if(supplementVerreIte.isPresent())
			return supplementVerreIte.get();
		return null;
	}
	
	public void modifyOrCreate(SupplementVerreCatalogueIte supplementVerreIte) {
		supplementVerreIteRepository.save(supplementVerreIte);
	}
	
}