package com.dacrt.SBIABackend.repository;

import java.util.Optional;
import javax.transaction.Transactional;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.stereotype.Repository;
import com.dacrt.SBIABackend.entity.Processes;
import org.springframework.data.jpa.repository.Query;

@Repository
public interface ProcessesRepository extends JpaRepository<Processes,Integer>,JpaSpecificationExecutor<Processes>{
	
	
	@Query("SELECT count(c) FROM Unitprocesses c")
	long countRegUnits();
	
	//Unitprocesses findByUnidit(int id);	 
	
	//List<Processes> findByUnidit(int unitid);
	
	Optional <Processes> findById(int id);
	
	boolean existsByName(String name);
	boolean existsByRef(String ref);
	Optional<Processes> getByName(String name);
	Optional<Processes> getByRef(String ref);
	
	Optional<Processes> findByName(String name);
	
	@Transactional
	@Modifying
	@Query(" DELETE FROM Processes p where p.id = ?1 ")
	void borrarProcess(int processid);
	
}
