package org.egl_cepgl.pm.service;

import lombok.extern.slf4j.Slf4j;
import org.egl_cepgl.pm.dto.EnterpriseQualificationDto;
import org.egl_cepgl.pm.model.Country;
import org.egl_cepgl.pm.model.EnterpriseQualification;
import org.egl_cepgl.pm.repository.EnterpriseQualificationRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.Optional;
import java.util.stream.Collectors;

@Slf4j
@Service
public class EnterpriseQualificationService {

    private EnterpriseQualificationRepository repository;

    @Autowired
    public EnterpriseQualificationService(EnterpriseQualificationRepository repository) {
        this.repository = repository;
    }

    public EnterpriseQualification add(EnterpriseQualification obj)
    {
        log.info("ENREGGGGG=======ENG++"+obj.toString());
        return this.repository.save(obj);
    }

    public Page<EnterpriseQualification> findAll(String search, int page, int size)
    {
        Pageable paging = PageRequest.of(page, size);
        Page<EnterpriseQualification> objs;
        if (search == null) {
            objs = this.repository.findAll(paging);
        } else {
            objs = this.repository.findByNamepContaining(search, paging);
        }
        return objs;
    }

    public EnterpriseQualification update(EnterpriseQualification obj)
    {
        return this.repository.save(obj);
    }

    public void delete(Long id)
    {
        if(id == null){
            log.error("ID est null");
            return;
        }
        repository.deleteById(id);
    }
}
