package com.dacrt.SBIABackend.security.repository;


import java.util.List;
import java.util.Optional;

import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.TypedQuery;

import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.stereotype.Repository;

import com.dacrt.SBIABackend.security.entity.Params;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;


//import com.dacrt.SBIABackend.security.dto.ParamsDto;
import com.dacrt.SBIABackend.security.entity.Params;

@Repository
public interface ParamsRepository extends JpaRepository<Params,Integer>,JpaSpecificationExecutor<Params>{
	

  // public static final EntityManager entityManager = null;
	
	@Query("SELECT count(c) FROM Params c")
	long countRegParams();
	
	Optional<Params> findByParamname(String paramname);
	Optional<Params> findById(int id);
	List<Params> findAllByParamname(String paramname);
	//List<Params> findAllByParamnameAndActivo(String paramname,Integer activo);
	Optional<Params> findByName(String name);
	List<Params> findByParamnameAndNameAndValue(String paramname,String name, String value);
	boolean existsByParamname(String paramname);
	boolean existsByName(String name);
	boolean existsByParamnameAndNameAndValue(String paramname, String name, String value);
	public Optional<Params> findByParamnameAndValue(String paramname, String value);
	public Optional<Params> findByParamnameAndName(String paramname, String name);
	public Optional<Params> getByParamnameAndNameAndValue(String paramname, String name, String value);
	
	
	/*String jpql =   "SELECT u " +
            "FROM Users u " +
            "WHERE " + wherestatus + whererol + " " .
            "ORDER BY " . orderby;
TypedQuery<Users> query = em.createQuery(jpql, Users.class);
//query.setParameter("sessionid", sessionid);*/
		
}
