package org.egl_cepgl.pm.service;

import lombok.extern.slf4j.Slf4j;
import org.egl_cepgl.pm.model.CabinetQualification;
import org.egl_cepgl.pm.repository.CabinetQualificationRepository;
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;

@Slf4j
@Service
public class CabinetQualificationService {

    private CabinetQualificationRepository repository;

    @Autowired
    public CabinetQualificationService(CabinetQualificationRepository repository) {
        this.repository = repository;
    }

    public CabinetQualification add(CabinetQualification obj)
    {
        return this.repository.save(obj);
    }

    public Page<CabinetQualification> findAll(String search, int page, int size)
    {
        Pageable paging = PageRequest.of(page, size);
        Page<CabinetQualification> objs;
        if (search == null) {
            objs = this.repository.findAll(paging);
        } else {
            objs = this.repository.findByNamepContainingIgnoreCase(search, paging);
        }
        return objs;
    }

    public CabinetQualification update(CabinetQualification obj)
    {
        return this.repository.save(obj);
    }

    public void delete(Long id)
    {
        if(id == null){
            log.error("ID est null");
            return;
        }
        repository.deleteById(id);
    }
}
