package com.dacrt.SBIABackend.repository;

import java.math.BigDecimal;
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.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;

import com.dacrt.SBIABackend.entity.Riskfactorelements;
import com.dacrt.SBIABackend.entity.Riskfactors;

@Repository
public interface RiskfactorelementsRepository extends JpaRepository<Riskfactorelements,Integer>,JpaSpecificationExecutor<Riskfactorelements>{

	
	     boolean existsByName(String name);
		
		Optional<Riskfactorelements> getByName(String name);
		Optional<Riskfactorelements> getByRiskfactorid(String name);
		
		boolean existsById(Integer id);
		
		Optional<Riskfactorelements> findByName(String name);
		Optional<Riskfactorelements> findById(int id);
		
		@Transactional
		@Modifying
		@Query(" DELETE FROM Riskfactorelements e where e.id = ?1 and e.riskfactorid = ?2 ")
		void deleteRiskfactorelementsbyid(Integer id);
		
		@Transactional
		@Modifying
		@Query(" UPDATE Riskfactorelements e set e.weight= ?2 ,e.name=?3  WHERE e.id = ?1 ")
		void updateRiskfactorelementsbyid(Integer id,BigDecimal peso,String name);
		//update main.riskfactorelements set weight= 15,name='ELEMENTO 11' WHERE ID = 1 and riskfactorid = 1
}
