ModeleVerreIteService.java

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

import com.sintia.ffl.admin.optique.dal.entities.catalogue.ModeleVerreCatalogueIte;
import com.sintia.ffl.admin.optique.dal.repositories.catalogue.ModeleVerreCatalogueIteRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

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

@Service
public class ModeleVerreIteService {
	
	@Autowired
	private ModeleVerreCatalogueIteRepository modeleVerreCatalogueIteRepository;
	
	public boolean deleteVerre(String codeVerre, String codeFabricant, String codeFournisseur, Date date) {
		
		Optional<ModeleVerreCatalogueIte> modeleVerreIte = modeleVerreCatalogueIteRepository.findModelVerreIteByCodeAndFournisseurAndModele(codeVerre, codeFournisseur, codeFabricant);
		if (modeleVerreIte.isPresent()) {
			ModeleVerreCatalogueIte modeleVerreIteToChange = modeleVerreIte.get();
			modeleVerreIteToChange.setDateDemandeSupp(date.toInstant().atZone(ZoneId.systemDefault()).toLocalDate());
			try {
				modeleVerreCatalogueIteRepository.save(modeleVerreIteToChange);
				return true;
			} catch (Exception e) {
				return false;
			}
		} else
			return false;
	}
	
	public ModeleVerreCatalogueIte exist(String codeVerre, String codeFabricant, String codeFournisseur) {
		Optional<ModeleVerreCatalogueIte> modeleVerreCatalogueIte = modeleVerreCatalogueIteRepository.findModelVerreIteByCodeAndFournisseurAndModele(codeVerre, codeFournisseur, codeFabricant);
		if(modeleVerreCatalogueIte.isPresent())
			return modeleVerreCatalogueIte.get();
		return null;
	}
	
	public void modifyOrCreate(ModeleVerreCatalogueIte modeleVerreIte) {
		modeleVerreCatalogueIteRepository.save(modeleVerreIte);
	}
	
	public void delete(ModeleVerreCatalogueIte modeleVerreIte) {
		modeleVerreCatalogueIteRepository.delete(modeleVerreIte);
	}
	
	public void deleteByIdList(List<Integer> collect) {
		modeleVerreCatalogueIteRepository.deleteByIdList(collect);
	}
	
	public List<ModeleVerreCatalogueIte> getAllModeleVerreIteToPurge(LocalDateTime dateExpired) {
		return  modeleVerreCatalogueIteRepository.getAllModeleVerreIteToPurge(dateExpired);
	}
	
	public List<ModeleVerreCatalogueIte> getAllModeleVerreIteToDesactivate(LocalDate dateExpired) {
		return  modeleVerreCatalogueIteRepository.getAllModeleVerreIteToDesactivate(dateExpired);
	}
	
	public void bulkupdate(List<Integer> modeleVerreItes, LocalDateTime dmaj){
		modeleVerreCatalogueIteRepository.bulkupdate(modeleVerreItes, dmaj);
	}
	
}