package io.gmss.fiscad.interfaces.infocad.parametre;

import io.gmss.fiscad.entities.infocad.parametre.SituationMatrimoniale;
import io.gmss.fiscad.exceptions.BadRequestException;
import io.gmss.fiscad.exceptions.NotFoundException;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

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

public interface SituationMatrimonialeService {

    SituationMatrimoniale createSituationMatrimoniale(SituationMatrimoniale situationMatrimoniale) throws BadRequestException;

    SituationMatrimoniale updateSituationMatrimoniale(Long id, SituationMatrimoniale situationMatrimoniale) throws NotFoundException;

    void deleteSituationMatrimoniale(Long id) throws NotFoundException;

    Page<SituationMatrimoniale> getSituationMatrimonialeList(Pageable pageable);

    List<SituationMatrimoniale> getSituationMatrimonialeList();

    Optional<SituationMatrimoniale> getSituationMatrimonialeById(Long id);
}
